问题标签 [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 投票
1 回答
401 浏览

javascript - get and set string onmouseover js value

I want to run some onmousedown function, but how can I run this function without onmousedown event, in twebbrowser?

Can you suggest me a proper function, please?

0 投票
1 回答
245 浏览

browser - 如何避免多标签网络浏览器使应用程序主窗体超载?

TCppWebBrowser在主窗体上使用了多个 s,当我启动应用程序时,上次 Internet 会话的所有选项卡都被恢复。但这使得应用程序的主要形式过载很多。我的问题是如何避免主表单重载?

我试图自己实现它,但没有成功。我使用TThread了 C++ Builder 中的类并尝试从那里开始导航,但不成功,主窗体仍然重载。我也试过CreateThread()- 同样的事情。

我已经找到:

在 Windows 7 和 Vista 中工作的单独线程中创建的 WebBrowser 控件 (MFC),但 Windows XP

但我不太明白这一点。

请有人告诉我如何在 C++ Builder 中解决我的问题!

0 投票
2 回答
3378 浏览

delphi - TWebBrowser 与嵌入的 Youtube 剪辑一起崩溃

这是我的代码:

测试.html

我的应用程序在这两种方法中都崩溃了。我得到一个未处理的 win32 异常(由 Flash player 引起Exception EInvalidOp in module Flash10u.ocx at 00108657. Invalid floating point operation)。

  • 我在 D5、D7、D9 上尝试了此代码。
  • 我试图重新导入 SHDocVw.dll。
  • 我还尝试使用 EmbeddedWB 控件而不是 TWebBroser ...
  • Internet Explorer/Avant/Maxthon 对这个 HTML 没有任何问题(都基于 IE ActiveX)。

有什么建议或修复吗?

我怎样才能捕捉到这个错误,甚至抑制它?

有没有办法通过 TWebBrowser 事件即时操作或更改 HTML,这样我就可以显示图像而不是 Flash 播放器,就像 Ad-Blockers 的工作原理一样?(我的客户通过 Internet 在他们的站点中拥有该代码,我的 Delphi 应用程序提供了快速预览)

更新

我使用 TTimer 来启用/禁用 FPU(基于 Arjen 的想法):


更新 (2)

我最终在应用程序启动时屏蔽了 FPU 异常。从那以后,对我的申请没有(已知的)影响。

0 投票
1 回答
294 浏览

multithreading - 如何命名 TWebBrowser 线程

一旦您在 TWebBrowser 上调用 Navigate 或 Navigate2 ,它就会创建至少 2 个新线程,这些线程在您销毁浏览器之前不会被释放。

获取由 TWebBrowser 实例生成的线程的线程 ID 以便用 TThread.NameThreadForDebugging 命名它们的最佳方法是什么(如果有)?

0 投票
3 回答
4528 浏览

delphi - 如何在 TWebBrowser 中检测打印命令已完成?

预览也是如此: WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT, vaIn, vaOut);

我需要等待(或触发事件),直到Print/Print Preview对话框完成,并且用户选择了打印或取消。

更新 (1)

基于这个问题,我测试了OnCommandStateChange. 在打印对话框中打印或取消触发它。但它可以在对话框打开之前触发 1 或 2 次。

更新 (2) 找到了一个可能解决问题的解决方法(这是一个基本的想法):

用法:

两者都适用OLECMDID_PRINTOLECMDID_PRINTPREVIEW 请告诉我您的想法...

0 投票
1 回答
229 浏览

delphi - TWebBrowser 可以撤消或重做

使用 TWebBrower 如何获得撤消或重做状态(CanUndo、Can Redo)?

这总是假的?

0 投票
1 回答
2339 浏览

delphi - 如何抑制 EAccessViolation 终结异常 (mshtml.dll)

我们在应用程序中使用 TWebBrowser。

在我的应用程序终止后,在我的一些客户计算机(IE9/Win7)上,它抛出一个异常:"Access violation at address XXXX in module 'mshtml.dll'. Read of address XXXX"异常消息的无限循环......非常难看:/

这只发生在极少数计算机上(到目前为止只有 IE9/Win7)。我无法在我的 PC 上重现此异常。

我还使用JclDebugwhich 是我的主要 dpr uses 子句中定义的最后一个单元 - 它没有捕获此异常。

如何完全抑制这个异常?

该应用程序是用 D5 编写的。

0 投票
1 回答
4519 浏览

delphi - 如何将 TWebBrowser 控件重定向到自定义 URL?

例子:

  1. http://www.stackoverflow.com我使用 Web 浏览器控件导航到
  2. 顶部栏中有一个指向常见问题解答的链接,带有目标https://stackoverflow.com/faq
  3. http://math.stackexchange.com当我单击常见问题链接时,我需要重定向到例如
0 投票
0 回答
2864 浏览

delphi - WebBrowser SinkEvents 和 DesignMode = 'on'

Zarko Gajic 在以下文章和演示中演示了如何在鼠标移到 TWebBrowser 文档上时获取超链接的 url:http://delphi.about.com/od/vclusing/a/wbsinkevents.htm 演示运行良好,直到WebBrowser 设置为 designmode = 'on',则不会执行 OnMouseMove 事件。是否可以增强演示以便在 DesignMode = 'on' 时执行 OnMouseMove 事件?如果没有,是否有不同的方法来创建 Document.OnMouseMove 事件?我正在使用德尔福 2010。

[编辑]请求更多代码,所以这里是实现

[修复] 我发现在将 webbrowser 设置为设计模式后没有执行 WebBrowser1DocumentComplete,所以我更改了 DesignMode1Click 并解决了问题。我发布了这个,所以其他人也可以看到这个:

0 投票
1 回答
1628 浏览

delphi - TEventObject 和 WebBrowser

我创建了一个TEventObject提供OnMouseDownOnMouseMove事件TWebBrowser。这些事件在移动鼠标和单击 webbrowser 时完美运行,但是当我滚动或单击 webbrowser 的垂直滚动条时发生EZeroDivide异常。EurekaLog 报告 d2d1.dll 中的 EZeroDivide 异常。我试图捕获异常,但我尝试过的任何方法似乎都不起作用:

我的问题是我可以以某种方式防止异常,还是可以检测到 TWebbrowser 垂直滚动条上的 mousedown 以防止异常?这个异常对我来说是一个很难解决的问题,因为我对 TEventObject 了解不多,也不明白为什么只有在单击或拖动垂直滚动条时才会出现异常。如果需要,我可以提供更多信息。编译器:德尔福 2010。

[编辑] 见这篇文章: http: //www.codenewsfast.com/cnf/article/0/waArticleBookmark.7401953 一个非常简单的演示应用程序位于: http ://dl.dropbox.com/u/2167512/bugs /ie9/ie9_bug.zip

这可以防止错误: