是否可以在Windows Store应用程序中使用Chromium嵌入式框架(CEF)?
如何在Windows Store(Metro Style)应用程序中集成铬嵌入式框架(CEF).我阅读CEF Wiki - https://code.google.com/p/chromiumiumiumembedd/到Windows Store应用程序. There is tutorial for WPF app - https://code.google.com/p/chromiumembedded/wiki/Tutorial和WPF App -cefclient的示例. Windows Store应用程序有什么示例吗?我想在Windows Store应用程序中创建CEF WebView. 解决方案 我们尝试了一下,但是问题是分发了CEF二进制文件以及Windows Store应用程序,该应用程序不会应用程序认证.我们正在使用Windows商店应用程序编程提供的WebView来渲染Web内容.我们可以与ScriptNotify和InvoKescriptAsync进行渲染的Ja
8 2024-04-20
编程技术问答社区
CefWebBrowser不显示
解决方案: 此问题是由于未加载cefruntime在程序中引起的.只需将示例文件中的所有代码复制到您的program.cs. ,然后如果您的cefwebbrowser被卡住并具有"旋转鼠标光标",则设置单个程序= true. 原因是,如果从公认的二级过程调用浏览器,则整个过程将被阻止,直到该过程结束. 问题: 任何人都有Winform中使用CEF(Chromium Embedded Framework)的经验? 这个组成部分使我整天折磨了我.我无法使它起作用. 它只是没有出现. 所以我的问题是:如何在Winform应用程序中使用CEF? 我确实检查了论坛,但令人惊讶的是没有人问这个问题. 看来我是唯一不知道如何使用它的愚蠢人. public partial class Form1 : Form { private CefWebBrowser cefwbShell = null; //private readonly S
8 2024-04-18
编程技术问答社区
加快Chromium的构建速度
我正在使用Visual Studio 2010在Windows上建造Chromium.我遵循了所有在"少"时间中建立铬的建议(http://www.chromium.org/developers/how-tos/build - 建筑 - 窗口#toc-accelerating-the-build)(例如,使用预编译标题,组件构建).但是,我的铬制造仍然需要超过2个小时!更糟糕的是,如果我对V8进行任何更改,它将尝试构建所有依赖关系(Chromium有526个Visual Studio Projects,V8在依赖关系树中相当远).有什么办法可以加快构建时间吗?例如,建造Firefox大约需要20分钟,并且随着Mozilla支持增量建筑物,代码的变化(例如SpidermonKey)只需要构建该模块(最多需要大约1分钟). 我正在Core-I7机器(2.80 GHz)上运行Windows 7 Professional(X64).我唯一的问题可能是RAM造成的,即仅是4GB.任何建议将不胜感激
10 2024-04-05
编程技术问答社区
gclient runhooks失败
我正在尝试在Windows下构建Chrome,我使用Tortoisesvn获得了Chromium Trunk,并且我相信我可以正确地获得所有内容,但是当我运行" Gclient Runhooks"时,我会收到错误:"错误:"错误:未配置客户端;请参阅';请参阅'; gclient config'. 现在,我知道这是因为我在同一目录上没有" .gclient"文件,但是我找不到项目中任何地方的.gclient文件.我自己尝试创建.gclient文件,但说明缺少解决方案. 我可能缺少一些东西,有人可以帮我吗?我很卡住! 谢谢! 解决方案 上述解决方案已过时.使用SVN存储库运行的结果: Error: The chromium code repository has migrated completely to git. Your SVN-based checkout is now obsolete; you need to create a brand-new g
18 2024-04-05
编程技术问答社区
如何在不下载所有历史源代码的情况下签出并构建特定的chromium标签/branch?
我不想构建主分支.相反,我想构建一个特定的标签,该标签与我的桌面Chrome一样最新的稳定版本. 解决方案 这可能是获取Chromium源代码的最快方法.假设59.0.3071.115是铬的版本,您希望构建.您运行此命令: git fetch https://chromium.googlesource.com/chromium/src.git +refs/tags/59.0.3071.115:chromium_59.0.3071.115 如果您不希望将历史记录获取(Chromium源代码的更快获取): git fetch https://chromium.googlesource.com/chromium/src.git +refs/tags/59.0.3071.115:chromium_59.0.3071.115 --depth 1 现在从您的铬存储库中,使用以下命令显示可用的标签列表 git tag 您必须通过运行 来检查该标签 git ch
12 2024-04-04
编程技术问答社区
对于Electron来说,结合Node.js和Chromium的上下文意味着什么?
in 我知道,电子的含义是您可以使用Web技术构建跨平台桌面应用程序.我也理解我们能够写入文件系统的原因是因为电子已经烤了.不要认为这是作者在谈论的. 电子如何将节点和铬合并为"单个上下文"? 为什么不必再使用浏览器? 解决方案 Chromium 是带有V8 JavaScript引擎的基于WebKit的Web浏览器.它支持所有通常的浏览器和DOM API,因此非常适合制作网页,并且不擅长与基础系统进行交互. node.js 是通过剥离V8引擎,制作无头命令行应用程序并添加广泛的API来构建的等(您期望真正的脚本语言的事情. 电子以简化的方式是尝试用新的更通用的node.js的铬中使用的V8发动机.它向node.js暴露了一些额外的API,以允许打开铬窗口,也可以使用> 标签将用node.js引擎解释. 为什么电子? Chromium本身不能这样做的原因是因为它最初是设计为Web浏览器的,并且在Web浏览器中,由于文件通常为文件,因此闻所
14 2024-04-04
编程技术问答社区
在Puppeteer中,如何将chrome窗口从默认配置文件切换到所需配置文件
我的要求是在新配置文件上测试Chrome扩展. 我转介 -switches/用于Chromium args [ - 用户data-dir, - profile-directory] ​​ 启动浏览器后,打开了2个Chrome Windows.一个具有给定的配置文件和扩展名,另一个带有默认配置文件和给定的扩展名.此外,重点是在具有默认配置文件的窗口上.因此所有动作都在发生. 我曾期望只有1个浏览器窗口使用所需的配置文件和扩展. 我尝试将焦点切换到所需的窗口,但是browser.browsercontexts().长度为1,它是带有默认配置文件的浏览器.另外,browser.targets()表明只有1个目标作为浏览器. 我的环境: 1. Puppeteer版本:6.9.0 2.平台/OS版本:Windows 10 Pro版本1803 3. URL(如果适用): 4. node.js版本:10.16.3 我尝试的是: a.从路径\到\ my \
18 2024-04-04
编程技术问答社区
如何使用Brave自动打印HTML到PDF?
我当前使用勇敢的浏览器手动打开HTML文件,然后将文件打印到PDF文件.我想在命令行中自动化此过程.有办法做到吗?由于Brave是基于铬的,因此也欢迎基于Chromium和Google Chrome的解决方案. 解决方案 这是调用无头或信息亭模式可执行文件的常见用途. 与用机器人的木偶向您按下按钮相比,您的里程可能会有所不同,但是对于多种用途的批处理文件中的每天基本用途来说,通常会更简单每个PDF一代. 边缘与Brave或Chromium的Edge没有什么不同,因此可以使用Windows用户文件夹找到可执行文件并附加此处. --headless --enable-logging --print-to-pdf="%UserProfile%\Documents\Demofile.pdf" --disable-extensions --no-pdf-header-footer --disable-popup-blocking --run-all-compositor-st
16 2024-04-04
编程技术问答社区
无论如何,我是否可以强迫浏览器更新其UI(渲染)即使在后台? (JavaScript?/cli参数?/配置标志?)
背景 没有详细信息,我正在编写一个浏览器应用网站,该网站应该显示实时指标,但是浏览器是由Windows屏幕捕获器捕获的,有时浏览器可能会在后台进行. 我知道,如果浏览器在后台,则现代浏览器中有一些机械师停止/停止浏览器执行.我不太确定这是什么,但我知道它存在. 使用网络工人更新数据 为了通过通过setInterval/setTimeout在后台停止,我正在使用 Web Workers .这很好,因为即使浏览器在后台也可以处理所有数据. 问题 我面临的问题是,如果浏览器在后台,UI根本不会更新. 我明白为什么是因为表现原因. ,但我希望Web Worker的postMessage/addEventListener("message")能触发动画请求,但似乎并没有. 问题 即使浏览器在后台,有人都知道更新UI的任何方法吗? 例如; 最好使用JavaScript API/Tricks 浏览器命令行参数 浏览器配置标志
14 2024-04-04
编程技术问答社区
Delphi Chromium,如何在html页面上模拟点击按钮
我正在使用Delphi 10上的Tchromium组件. 我需要将文本从TMEMO转移到HTML中的Textarea,并在此页面上单击按钮. 我一直在尝试过,但是行不通 chromium1.Browser.MainFrame.ExecuteJavaScript('document.all(id_4).value='+Memo1.text+';', '', 0); Chromium1.Browser.MainFrame.ExecuteJavaScript('id_2.click();', '', 0); 基本上我需要此代码bellow,但是在Delphi 10中使用Tchromium.此代码使用Twebbrownser在Delphi7上. WebBrowser1.OleObject.Document.all.Item('id_4', 0).value := memo1.Text; WebBrowser1.OleObject.Document.all.Item('id_
14 2024-04-04
编程技术问答社区
如何拦截Skia从Chromium浏览器中绘制命令
这是与远程浏览器隔离相关的我的实验项目.我正在尝试拦截 skia 在运行的Chromium实例中绘制命令,然后在客户端的其他浏览器实例中重播它们 - 通过 canvaskit ,Skia的WebAssembly. 但是,我很难弄清楚在铬源代码中的何处以及如何拦截这些绘制命令.非常感谢有关如何解决我的问题的任何建议! 解决方案 在铬中,所有抽取操作都将记录在DisplayItemList中,您可以在blink模块中的类GraphicsContext定义中找到.其次,这些记录的操作将在CC认为是正确的时间时稍后重播. 在Blink的末端,上述相关代码的所有内容主要散布在blink/renderer/platform/graphics/graphics_context.cc及其相关文件中.但是,如果您将所有铬从整体上看到,所有图形事物都是由CC (Chrome Compositor)触发的,这些物体维护状态机并运行Android中系统的vsync信号触发的draw fram
22 2024-04-03
编程技术问答社区
Chromium和Firefox显示颜色的方式不同,我不知道哪一个做得对。
我一直在Ubuntu 17.10下建立一个网站,并使用Firefox和Chromium进行测试.这两个浏览器显示完全不同的颜色(不仅适用于图像,而且所有颜色),我一直认为它是铬的,出于某种原因,它们过度饱和,所以直到现在,我总是选择在Firefox中看起来直觉的颜色. ,但我开始对网站的背景过于紫色产生越来越多的抱怨 - 我认为它只有它的颜色的蓝色组成部分(#eeeeeff)是"提升的",但已经达到的观点是,更多的人将其视为紫色而不是蓝色,这让我感到困惑. 这是Firefox(左)和铬(右)中显示的上述颜色. 这就是我看到网站的方式: 差异很大(请注意,即使是Favicon有多不同),我要您告诉我哪个是我在选择网站的颜色时应该信任的浏览器,以及我是否可以做一些事情来避免它在不同的浏览器中显示出如此不同的显示. (有些用户也看到了Firefox中过于饱和的颜色.所以现在是正确的?) ) 解决方案 另一个选项是打开chrome://flags/并在强制颜色
12 2024-04-03
编程技术问答社区
如何改变Chromium浏览器的标识和名称?
我已经从窗户上构建了铬浏览器 我要实现的下一件事是在浏览器上到处更改Chromium(例如MyBrowser)的徽标和名称.我陷入了这一步骤.有什么方法可以通过修改代码或替换图标来实现这一目标? 解决方案 您将必须进行很多更改.替换这些文件之前,请确保您要替换的文件也匹配了分辨率和格式. 如果要更改铬的徽标,请用您的文件 替换这些文件 src/chrome/app/theme/chromium/product_logo_22_mono.png src/chrome/app/theme/chromium/product_logo_24.png src/chrome/app/theme/chromium/product_logo_48.png src/chrome/app/theme/chromium/product_logo_64.png src/chrome/app/theme/chromium/product_logo_128.png src/chrome/ap
8 2024-04-03
编程技术问答社区
安卓。URL.createObjectURL不能正常工作(加载失败,因为没有找到支持的源。)
我正在尝试播放一个在我的Meteor Android应用程序的局部图片中存储的音频文件. LocalForage.getItem(track_id, (err, value)=>{ if(err) throw err; //the loaded value is an arraybuffer of an m4a file let blob = new Blob([value]); let url = (window.URL || window.webkitURL || window || {}).createObjectURL(blob); let testAudio = new Audio(url); testAudio.play().then(()=>{console.log("play successful")}).catch((err)=>{console.error(err)}); }); 之前,我将UR
12 2024-04-01
编程技术问答社区
JavaScript V8扭矩引擎加载二进制数据不正确
我们使用opentype.js加载字体文件,并在我们的代码,V8引擎或Chromium中找到了一个错误,该错误返回DataView.getInt16()的结果DataView.getInt16()为65536 65536 65536 65536 65536 65536 65536 65536.这很少发生(〜0.25%),但对于我们的用户来说,每天仍然是数百次.结果,我们只能在几台计算机上重现它,而不是一致的.一些浏览器选项卡将始终工作,而另一些浏览器将始终给出不正确的值. 我不是二元运营专家,而是了解基础知识. 这是一个例子:说我们期望513. 在二进制中,我们期望: 00000000000000000000001000000001(513) 如果结果为+65536,我们可以用第17位翻转: 00000000000000010000001000000001(66049-65536 = 513) 如果结果为-65536,我们可以用前16位的完整集进行解释: 1
6 2024-03-31
编程技术问答社区
为什么require("perf_hooks")会失败?
在我的理解中," perf_hooks"是node.js的一部分.但是,当使用npm test进行测试时,它对我失败了(一些文件名已更改): Error: ENOENT: no such file or directory, open 'perf_hooks' at Object.openSync (fs.js:465:3) at Object.readFileSync (fs.js:368:35) at SandboxedModule._getCompileInfo (node_modules/sandboxed-module/lib/sandboxed_module.js:265:20) at SandboxedModule._compile (node_modules/sandboxed-module/lib/sandboxed_module.js:245:22) at createInnerSandboxedMod
12 2024-03-30
编程技术问答社区
断点调试最小化的/混合的/编译的变量
致力于在我的工作流程中构建JavaScript Sourcemaps,我一直在寻找调试源地图的特定部分的文档.在下面的图片中,我正在运行压缩JavaScript代码,但是通过源地图的魔法,Chrome调试器能够重建看似未压缩的代码以供我调试: 但是,如果您查看本地变量,则未定义someNumber和someOtherNumber.相反,我们具有a和r,它是此功能的编译变量名称. Mozilla Firefox和Chrome都一样. 我尝试浏览 chrome devtools docume ,但我没有看到任何关于这个的文章.这是当前对Sourcemap调试的局限性吗? 更新: 自那以后,我找到了 in Chromium Project in Chromium Project问题.看起来好像已经或正在实现.随着团队开始在其构建系统中实施Babel来编写ES2015代码,这正变得越来越重要.是否有团队找到了解决这个问题的方法? 解决方案 看起来已经已经解决了,并
14 2024-03-26
编程技术问答社区
AWS CDK TypeScript lambda错误:"铬
AWS CDK,Typescript Lambda和Lambda层问题 - chromium.executablePath不是函数 我正在使用AWS CDK在打字稿中从事AWS lambda功能.我的Lambda功能利用木偶和自定义铬构建来生成PDF.但是,我遇到了与chromium.executablePath有关的TypeError. 层依赖性: my package.json包括lambda层的以下依赖关系: "dependencies": { "@sparticuz/chromium": "^106.0.2", "puppeteer-core": "^18.0.5" } lambda功能: 这是我的lambda函数的相关部分: const puppeteer = require("/opt/nodejs/puppeteer-core"); const chromium = require("/opt/nodejs/@sparticu
8 2024-03-22
编程技术问答社区
用Puppeteer AWS Lambda对多个有效载荷进行迭代并拍摄多张截图
我目前正在使用以下木偶AWS lambda层刮擦30个URL,并在S3中创建并保存屏幕截图.目前,我发送30个单独的有效载荷,因此运行30个AWS lambda功能. https://github.com/shelfio/shelfio/chrome-aws-aws-aws-aws-lambda-lambda-layer 每个JSON有效负载包含一个URL和一个图像文件名,该名称每2-3秒通过邮政请求发送到API网关.列表中的前6或9个lambda函数似乎运行良好,然后按AWS CloudWatch报告的Navigation failed because browser has disconnected!开始失败. 因此,我正在寻找一种替代解决方案,如何通过处理单个json有效载荷来编辑下面的代码以批量屏幕截图一组30个URL? (例如,循环等) 这是我当前用于生成单个AWS lambda屏幕截图并发送到S3的代码: // src/capture.js // t
8 2024-03-22
编程技术问答社区
在AWS Lambda容器中使用Headless Chrome运行Selenium在本地工作,但在AWS Lambda中不工作
我目前正在开发一个Python程序,该程序具有一个段,该程序使用Chrome和Selenium的无头版本来执行重复过程.我的目标是在lambda上运行该程序. 整个程序具有约1GB的依赖项,因此使用.zip存档,包含我所有的功能代码和依赖项不是一个选项. 所以,这就是新的> AWS lambda - 容器映像支持(我使用此链接教程来开发整个实现,因此请阅读,如果您需要更多信息).这使我可以包装和部署我的lambda功能作为最多10的容器图像GB大小. 我使用的是由AWS提供的ECR公共托管的基本图像,该图像运行了Amazon Linux2.首先 - 在我的Dockerfile I: 中 下载基本图像. 定义一些全局变量. 复制我的文件. 安装我的pip附录 使用百胜安装一些软件包. 最后 - 我同时安装了Chrome(阅读时87.0.4280.88)和Chromedriver(87.0.4280.88) 终于下载安装Chrome和Chromedr
12 2024-03-22
编程技术问答社区