问题标签 [ihtmldocument2]

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 回答
836 浏览

iwebbrowser2 - IWebBrowser2 IHTMLDocument2 CTRL+F 对话框出现但找不到匹配项

我使用 IHTMLDocument2 write(SAFEARRAY) 方法从存储在数据库中的字符串生成 HTML 页面。这工作正常。当按下 CTRL+F 时,“查找”对话框会按预期出现,但从来没有任何匹配项。CTRL+F 搜索的是什么?搜索查看的对象是否丢失(我必须创建)?这是一些相关的代码:

答:正如@Yahia 所建议的,这是一个焦点问题。我在 m_document->write(safe_array) 语句之后添加了 m_document->execCommand("Refresh",...) ,就像我从上下文菜单 Ctrl-F 执行“刷新”时一样,按预期工作。这解决了“焦点问题”。

0 投票
1 回答
539 浏览

visual-c++ - 如何使用 DHTML 打印整个文档中的特定内容

在这些示例中,我想打印 ID tab_form_1中的内容。在尝试这些示例打印tab_form_1内容时,lpOleCommandTarget 在使用 CComptr 查询接口时变为 NULL。

如何解决这个问题?

样品

0 投票
2 回答
4158 浏览

delphi - 遍历 IHTMLElementCollection

有没有办法迭代 IHTMLElementCollection?

我知道有一个名为 _newEnum 的属性,但是据我所知,delphi 不支持它。

更新:显然链接是 IHTMLElement 而不是 IHTMLLinkElement

0 投票
3 回答
1543 浏览

internet-explorer - 使用 execScript 时“指定的强制转换无效”

我正在尝试在 IE 内的 iframe 上执行脚本,但我总是得到“指定的强制转换无效”:

当我尝试访问 document.parentWindow 时会出现问题(即使询问 document.parentWindow != null)。

重要的是,我正在从与文档完成事件线程不同的线程执行此操作。

你能帮我解决这个问题吗?

谢谢,

暗里

0 投票
1 回答
988 浏览

c++ - 在事件 DownloadComplete 上访问 HTML 源?

我正在开发一个广告/弹出窗口拦截器 BHO,我正在尝试从事件“下载完成”访问网站的 html,因此我可以过滤所有广告和恶意 uri。

我的代码看起来像这样:

我如何访问和修改此事件的 html?

0 投票
1 回答
1897 浏览

url - 如何在 IHTMLDocument2 中设置 url 而不会导航到新页面

htmldocument写入后如何设置 url 。例如:

如果我这样做myDoc.url = "http://www.google.com",它会尝试加载谷歌。
如何在不尝试加载该 url 的情况下设置 url?

0 投票
2 回答
1340 浏览

delphi - 尝试编辑 IHTMLDocument 会挂起应用程序

基于 IHTMLDocument2 的 MSHTML 文档,我正在尝试编写简单的 HTML 解析器。不幸的是,尝试设置编辑模式失败,换句话说,resultState永远不会获得“完整”值,因此应用程序挂起。

只是好奇为什么IHTMLDocument2 接口的 readyState 属性从未设置为“完成”,尽管它应该基于官方文档?

0 投票
3 回答
1155 浏览

c++ - C++, web browser control: cannot change encoding/charset

There's a document I'm displaying in a web browser ActiveX control hosted in a C++ app. This document has a META tag that specifies incorrect charset, so the output is funny. I know the correct encoding and want to change it programmatically to fix that. But whatever I try, the encoding remains unchanged.

I alredy tried, in various combinations and flavors:

  • IHTMLDocument2::put_Charset (after the document finished loading);
  • changing the "charset" property of the "META" tag (using IHTMLMetaElement);
  • deleting the "META" tag altogether (by setting its "outerHTML" to empty string);
  • refreshing the control.

The control demonstrates remarkable persistence in preserving the incorrect encoding. What are my other options? I can't manipulate the source of the document being loaded.

0 投票
0 回答
366 浏览

delphi - 属性 IHtmlElementCollection.all 被 HTML 文件中的脚本标记破坏

我在使用 Delphi XE2 的 IHtmlElementCollection 时遇到了一些麻烦。我的文档看起来像这样,我将它加载到 TWebBrowser。

当我尝试使用 IHtmlDocument2 接口遍历文档中的所有元素时,“all”属性将仅包含脚本之前的元素,总共 5 个 IHtmlElement 对象。在那之后,没有更多的元素可以找到。

但是,当我删除标签时:

迭代器将再次找到文件的所有元素,这要多得多。有谁知道为什么会这样?

0 投票
1 回答
2037 浏览

dom - 从 Visual Basic 6 在 Web 浏览器中调用 DOM onmousedown 事件

我将 HTML 文档加载到 Visual Basic 6 中的 WebBrowser 控件中。

有链接的东西

我想从 VB 以编程方式调用 onmousedown 事件

我尝试了很多东西,包括

但似乎没有任何效果。