问题标签 [tchromium]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Delphi Chromium Embedded (TChromium) - 获取脚本输出
TChromium 有没有办法在运行脚本后获取输出?例如,如果我在 Chrome 的开发人员工具中运行以下脚本:
Chrome 将输出页面中的所有输入节点。我如何在 Delphi 中读取此输出?
delphi - Delphi Chromium - 迭代 DOM
我正在尝试使用 TChromium 迭代 DOM,因为我使用的是 Delphi 2007,所以我不能使用匿名方法,所以我创建了一个继承自 TCEFDomVisitorOwn 的类。我的代码如下,但由于某种原因,从未调用过“访问”过程,所以什么也没发生。
jquery - delphi 10中的Tchromium在浏览器中下载事件时不起作用
我在delphi 10中使用Tchromium浏览器。我想通过我的浏览器下载一些文件,但是在下载事件之前的tchromium中,出现访问冲突错误。tchromium 是否支持 jquery 库。
例如。
这是下载链接。但 tchromium 无法下载该文件。我做错了什么??
delphi - 如何以编程方式获取 tchromium 加载文档的屏幕截图?
我找不到正确的方法来获取表单中 tchromium vcl 控件中已加载文档的图片。
寻找一种将文档作为文件或流的位图的方法。delphi / tchromium 组件
delphi - Delphi Chromium Embedded (DCEF3):无法在 DLL 中定位程序入口
我安装了 Delphi Chromium Embedded 3 (DCEF3) 并且它正在工作。
问题是,每次我重新启动 Delphi,我都会收到这个错误:
'过程入口点@CefLib 不能位于动态链接库 DCEF_D7.bpl'。
我需要删除软件包并重新安装以使其正常工作。然后当我退出 Delphi 并再次打开它时,会发生同样的错误。如何避免呢?
谢谢 !
delphi - TChromium 个人资源下载完成事件?
目前,我已将 TWebBrowser 嵌入在一个应用程序中,该应用程序“记录”在线游戏中的活动,以便可以向用户显示有关该游戏的统计信息。这目前工作正常,但 TWebBrowser 似乎比 TChromium 慢很多。因此,我开始将我的项目转换为使用 Delphi TChromium 嵌入式框架 (CEF)-3,来自:https ://bitbucket.org/chromiumembedded/
从这里我得到了 guiclient,它可以在下载的 demos 目录中找到。
到目前为止一切顺利 - 但是,在接收到对“crmBrowserLoadEnd”的调用之前,用户似乎可以按下按钮导航离开当前页面。这导致我的程序丢失了数据。
作为替代方案,我认为可以检查哪些资源完成了各自的下载。我可以挂钩事件“crmBrowserBeforeResourceLoad”以查看哪些资源“开始”加载。但似乎没有任何事件可以告诉我资源已完成加载。
所以,归结为:
- 问:我如何要求/告诉 CEF 为已下载的单个资源给我一个事件,以便我可以在下载 index.htm 时阅读它。(而不是等待整个页面和所有资源完成加载)
- 答:使用“crmBrowserLoadStart”而不是“crmBrowserLoadEnd”。为了确保它可以在浏览器开始处理下载的文件之前获取 url。
- 问:在整个文档完成加载并且 crmBrowserLoadEnd 完成之前,如何阻止所有用户输入。(虽然这不太受欢迎,因为它会降低用户对浏览器的享受):
- A:更新:捕获“crmBrowserPreKeyEvent”并添加“if FLoading then Result := True;” 将确保用户无法使用键盘进行导航。设置 crmBrowser.Enabled := False,。将确保用户无法使用鼠标导航。
delphi - TChromium(cef-3)多页调用延迟很短?
我有以下代码,我在 TWebBrowser 项目中使用它来处理对网页的快速调用。现在,虽然这可能不是处理此问题的“最佳”方式,但 crmBrowser 已登录,理论上应该能够快速连续进行 5 次调用。TChromium 更快,多线程,但似乎不倾向于等待。
这是目前困扰我的问题:
它通过回调启动:
基本上,我有一个带有需要调用的子链接的 TStringlist。但是,当我运行上面的代码时,其中包含例如 3 个链接。只有最后一个电话被处理。睡眠也几乎被忽略了。
这是 TWebBrowser 的代码:
如您所见,非常相似。除了它是由用户从主线程启动的。我想这将是一个容易回答的问题,但是,在回调过程中睡眠不会影响主线程,因此要让这个工作我需要同步或发布消息到主窗体?或者是否有一种更简单的方法让 TChromium 一个接一个地运行多个 url?
如果您想查看完整源代码并运行该项目,请随意浏览:https ://bitbucket.org/tstki/dragontavern-logger
(我知道 Application.ProcessMessages 是一个丑陋的东西)
delphi - DCEF Flash 插件 - 最新版本 DCEF3
我正在使用 tchromim,但有些网站仍然需要在 windows 计算机上安装 flash。我需要一个不需要安装 adobe flash 的解决方案,这可能吗?
CEF官网:
https://bitbucket.org/chromiumembedded/cef/wiki/ReleaseNotes
我注意到对于其他语言有重大更新,而 Delphi 没有找到。我正在使用以下配置:
官网指向了这个链接:
https://github.com/hgourvest/dcef3
但是,它远远落后于 C# 中 CEF 的更新。
知道告诉Delphi最新版本的DCEF3项目是什么吗?
我感谢关注
delphi - Delphi TChromium:如何使用 Options.ImageLoading 在显示和隐藏图像之间切换
我正在使用 TChromium 导航到页面。它具有属性 Options.ImageLoading ,您可以在其中指定是否要显示网站的图像。
问题是它仅适用于在设计时设置的选项。如果我在运行时更改此属性,则无效。这是一个示例代码;我想在这个例子中实现的是打开 test1.com 显示图像和打开 test2.com 隐藏图像。不幸的是,这两个站点都加载了图像,忽略了我设置的选项。
任何想法如何解决这一问题 ?我希望能够仅显示某些网站的图像。