问题标签 [twebbrowser]

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.

0 投票
2 回答
3963 浏览

delphi - 如何避免使用 TWebBrowser 刷新

我有一个显示谷歌地图页面的 TWebBrowser 组件。问题是当用户按 F5 时页面刷新和页面重新加载。这会导致 javascript 变量重新初始化并与 Delphi 不同步,并出现脚本错误对话框, “未定义”为空或不是对象。

我想停止用户刷新。

我为 OnBeforeNavigate2 尝试了这个事件:

但是当我设置断点时,它甚至没有被调用。还有其他方法吗?

0 投票
3 回答
2755 浏览

delphi - TWebBrowser - 挂钩接收事件

我正在尝试自动提交表单,并保存在 TWebBrowser 对象中显示的结果图像。

图像通过几个链接的javascript请求 (ajax)加载,直到它最终出现在文档中。

获取此图像的最佳方法是什么?我想挂钩接收功能以便能够看到 http 响应(这基本上是我的形象)。

另一种可能性是从缓存/内存中加载图像......

我不知道如何实际执行此操作,希望有人可以提供帮助。

谢谢。

0 投票
1 回答
2934 浏览

delphi - 禁用对话框 webbrowser delphi

如何防止出现对话框 本文档已更改。保存更改?当 webbrowser about: 空白时发生在转换中

非常感谢。这样做了

0 投票
2 回答
2474 浏览

delphi - 阻止 TWebBrowser 刷新的错误消息

我在我的 Delphi 应用程序中使用 TWebBrowser。当 Internet Explorer 脚本错误对话框弹出时,它会阻止自动刷新 ( "the requested resource is in use")。有没有办法自动关闭错误对话框?
TIA
史蒂文

编辑
一种可能的解决方案是使用 Mozilla ActiveX 控件而不是 IE(Firefox 从不显示错误),但这有其自身的问题

0 投票
2 回答
650 浏览

delphi - 按 Alt 清除嵌入的 TWebBrowser

我在 TForm 中嵌入了 TWebBrowser。每当我按下 Alt 按钮时,浏览器窗口就会变成白色。如果我在它周围拖动表格,它会正确重绘。

我做错了什么?

如果这很重要,我有 DevExpress Bars 和 Quantum Grid 吗?

我使用 Delphi 2010 和 Windows 7 和 XP SP2。IE 版本是 7 和 8。所有可重现。

在按 Alt 之前: 在按下 Alt 之前

按 Alt 后:

按 Alt 后

我已经通过 usnig 解决了以下问题:

0 投票
1 回答
1175 浏览

delphi - Delphi 6 - 更改 TWebBrowser 组件上的光标

在我的 Delphi 6 Pro 程序中,我可以使用下面的代码成功更改 TWebBrowser 组件上的光标,但前提是它不包含有效的 Web 文档:

加载 Web 文档后,光标立即恢复为标准鼠标指针。我猜这是因为加载 Web 文档时底层窗口(句柄/画布/等)发生了变化。加载 Web 文档时如何成功更改鼠标光标?

0 投票
2 回答
3250 浏览

delphi - 当页面不可见时如何在 Twebbrowser 控件中强制加载页面

我需要从 delphi 代码中执行一些 javascript 函数,但是如果页面未在 Twebbrowser 控件中加载,则此函数将失败。所以问题是如果页面位于未激活的选项卡中,则在选项卡变为活动状态之前不会加载页面。

Twebbrowser问题是当页面不可见时如何在控件中强制加载页面。

要测试此行为,只需在第二个选项卡中放置一个带有 2 个选项卡的页面控件和一个 twebbrowser,现在在表单的 oncreate 事件中放置此代码

现在,当您运行该应用程序时,该页面仅在您使第二个选项卡可见时才加载。

提前致谢。

0 投票
1 回答
372 浏览

delphi - delphi覆盖webbrowserH

我尝试制作一个定制的网络浏览器,它实际上是一个具有额外功能的 Twebbrowser:当页面在 30 秒内未加载时,它会调度一个事件 TimerOut。

所以我在 TwebbrowsersTimerOut 中添加了一个继承自 Twebbrowser 的计时器。

想法是在 BeforeNavigate 或 DownloadBegin 事件上午餐这个计时器:并在 onDownloadComplete 事件上停止计数器。

麻烦的是我不知道如何覆盖这些事件: 以及更全局地如何覆盖现有组件的事件:有人可以帮助我覆盖 TwebBrowser 组件,尤其是它的事件吗?

问候

0 投票
1 回答
1603 浏览

multithreading - 将 Delphi TWebBrowser 控件中的 Flash Player 移动到后台线程?

我有一个带有 TWebBrowser 组件的 Delphi 6 Pro 程序,该组件加载了一个嵌入 Cool Iris Wall 的网页。Cool Iris 墙是一个 SWF 对象,这意味着在运行时,执行发生在 Adob​​e Flash 播放器、ActiveX 或我相信的类似对象内。我遇到的问题是,有时当 Wall 从 Web 加载图片/视频时,它会对主 UI 线程上的 CPU 造成很大影响。我知道 TWebBrowser 将其大部分操作移至后台线程以保持主 UI 线程快乐,但 Adob​​e Flash Player 正在做的事情正在主 UI 线程上发生,这导致我的程序非常痛苦。有没有办法将 Adob​​e Flash Player 移动到后台线程?

[更新 - 2010 年 12 月 7 日] - 经过马拉松式的探测和调试会话后,发现问题与 Cool Iris Wall 的 Flickr 代理有关。您可以通过两种主要方式与 Wall 进行交互:1)您将特殊的 Flickr api 协议 URL 传递给他们,让他们为您与 Flickr 对话,例如“api://www.flickr.com/?search=puppy”加载墙与 Flickr 关键字搜索小狗的结果。这种方法的优点是它们为您完成了对 Flickr 进行查询和构建 Wall 内容所需的所有工作。2) 您自己构建一个包含照片流项目数据的 RSS 媒体提要,并将其提供给 Wall。

我正在使用技术#1。#1 的问题是,当他们的服务器无法为您构建 Flickr 提要时(无论出于何种未知原因),他们的主机 SWF 会给 CPU 带来沉重的负担,从而干扰主 UI 线程的操作。我将整个代码库转换为直接使用 Flickr API 并使用第二种技术自己创建提要,问题就消失了。

——罗施勒

0 投票
1 回答
2562 浏览

delphi - twebbrowser delphi 的回调

我想知道如何在 delphi 中为 twebbrowser 制作回调函数。我希望它识别我用鼠标单击的输入或编辑框.....有什么想法吗?

根据要求,特此更新问题,用户工作流程。用户将 1. 用鼠标选择 twebbrowser 上的输入字段。(程序将查看有关此输入字段的信息(值、ID 等.....) 2. 在字段中填写首选信息(姓名、密码等)

同时,该文本被链接回一个备忘录框。这应该是一个开始,如果我明白这一点,那将是一个好的开始。