问题标签 [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 回答
789 浏览

delphi - TWebBrowser 如何在 IE8 上将插入符号位置设置为 INPUT(文本)字段的末尾

我有一个通过 TWebBrowser 加载网页的应用程序,在这个页面上我有一些 HTML 输入。我想要的是更改输入的值并将插入符号位置设置到末尾。

这就是我目前所拥有的:

这段代码设置输入值并突出显示文本部分。我知道IHTMLInputTextElement2 接口,但它只能从 IE9 获得

0 投票
2 回答
3277 浏览

delphi - 在delphi的“自定义”浏览器中修改requestHeaders

我的 deplhi 应用程序 (IE) 中集成了一个浏览器。我需要调用某个 Web 应用程序,并且我需要在来自我的应用程序浏览器的所有请求的标头中附加一个新变量,例如 jquery 添加到 xhrobjHTTP_X_REQUESTED_WITH参数。关于我该怎么做的任何想法?代码示例会很棒。我正在使用TWebBrowser

0 投票
2 回答
5256 浏览

delphi - 如何在 Internet Explorer 中按零异常调试除法?

我在 Windows 应用程序中托管 Internet Explorer。我可以向下滚动到文档的底部。然后当我尝试向上滚动时,我得到一个除以零的异常

在此处输入图像描述

当我滚动使用Page Up崩溃似乎发生在调用 -IOleInPlaceActiveObject:TranslateAccelerator

当我使用鼠标滚动时,崩溃发生在调用

无论哪种方式,崩溃都发生在 Internet Explorer 中。

Delphi 在异常时显示的堆栈跟踪:

在此处输入图像描述

与 Jedi 的异常追踪显示的堆栈跟踪不同:

我尝试在 WinDbg 中调试崩溃:

但是因为 Delphi 捕获了所有异常,所以它从不泄露并破坏 WinDbg。(或者也许这就是 WinDbg 不中断的原因)。

我怎样才能阻止 Delphi 捕获异常,以便允许应用程序发生故障崩溃,这样我就可以获得导致问题的指令。这是一个浮点异常,某处是试图除以零的代码。


在相同的情况下,其他人也遇到了同样的崩溃:

在 Microsoft 的有用建议下,他关闭了任何 3rd 方插件,并尝试在安全模式下运行 IE。

虽然很高兴证明我不是唯一遇到此问题的人;我对解决方案更感兴趣。


可以通过要求浮点单元不引发异常来屏蔽FLDCW异常,方法是用指令摆弄浮点控制字:

不过,我想知道如何找到引发异常的行。

0 投票
1 回答
3938 浏览

javascript - Delphi TWebBrowser 中的 Javascript,关闭线程

我正在尝试在 delphi 中构建一个允许用户使用谷歌地图的系统。一切正常,但我注意到每次创建新的 TWebBrowser 对象并加载处理 Google 地图的 javascript 时,都会生成许多新线程。

我的问题是,即使网络浏览器被破坏(并且它肯定被破坏),创建的线程仍然存在。我将这个程序设计为具有较长的运行时间,并且谷歌地图的打开和关闭会发生很多次,因此,一段时间后,已经生成了很多线程并且没有终止,以至于程序显着减慢。

有什么方法可以自己销毁这些线程,还是我做错了什么导致线程持续存在?

我的程序基于以下代码:

程序使用一个基本的析构函数,将 HTMLWindow 设置为导航到 about:blank。提前致谢

0 投票
1 回答
885 浏览

multithreading - 在单独的线程中更新 TWebBrowser?

我使用 TWebBrowser 显示谷歌地图。问题是它在加载地图时阻塞了主 ui 线程。是否可以在单独的线程中更新地图?

编辑: RRUZ你是对的 TWebBrowser 对 URL 有异步加载。但我发现了为什么它会阻止调用的问题:

和方法:

所以似乎要解决这个问题,应该重构代码。但这不是这个问题的范围。

0 投票
1 回答
2566 浏览

delphi - 获取 IHTMLElement.body.innerHTML 作为 ansi 字符串

我有带有 unicode 符号的 html 标记:

&#968;我使用 IHTMLTxtRange.pasteHTML 插入的符号。当我使用 HTMLDocument2.body.innerHTML 时,我想得到<P>&#968;</P>,但不是 Unicode 字符串函数的字符串表示形式,而是返回 Unicode BSTR,其中&#968;(ψ) 是 Unicode 字符 $03C8

0 投票
2 回答
1820 浏览

html - 如何在 TWebBrowser 中以 HTML 格式显示 rss 提要的输出?

我想在 TWebBrowser 组件中以格式化 HTML 显示 rss 提要的输出,如果在 TWebbrowser 中加载此提要http://code.google.com/feeds/p/v8/svnchanges/basic,则显示内容为 XML 文件

在此处输入图像描述

但是如果我使用 IE 加载相同的页面

在此处输入图像描述

我尝试按照这个问题CSS and TWebbrowser delphi中的建议将 css 注入到加载的IHTMLDocument2 中,但我仍然得到相同的结果。

问题是,我如何在 TWebbrowser 中加载 rss 提要,但像 IE 一样将输出显示为 HTML 文档?

0 投票
4 回答
28435 浏览

delphi - 如何从 TWebBrowser 获取 HTML 源代码

如何从 WebBrowser 组件中获取源代码?

我想在 WebBrowser 组件上获取活动页面的源代码并将其写入备忘录组件。

谢谢。

0 投票
1 回答
2593 浏览

delphi - 如何避免嵌入 iframe 元素的 OnDocumentComplete 事件?

我想防止元素每次都iframe触发事件。OnDocumentComplete例如,一个页面有 4 个 iframe,当我加载这个页面时,我的OnDocumentComplete事件会运行 4 次。我只想OnDocumentComplete为每个页面运行一次。我怎样才能做到这一点?

也许我可以删除或阻止控制iframesTWebBrowser

0 投票
2 回答
728 浏览

delphi - 优化 TWebBrowser 的绘制以减少总 CPU 使用率

我有一个表单,它有一个TWebBrower加载 HTML 文档的组件。HTML 文档上的数据每隔几秒更新一次,有时每秒更新多次,我使用以下命令更新 Delphi 中的值:

问题是我想锁定窗口/网络浏览器以防止它绘制/更新,直到我的所有更新完成。有没有办法做到这一点?会打电话给

我需要一些帮助来优化此代码,以便我的总 CPU 使用率不会持续高。