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

com - 在 Windows10 中引发 EOleSysError 异常

在我的应用程序使用 IHTMLDocument2 解析 HTML 文档时,在创建 IHTMLDocument2 的实例期间引发了 EOleSysError 异常。几天前,我的应用程序运行正常。有没有人有关于这种现象的信息?

我的操作系统是 Windows10(64 位)。

0 投票
1 回答
379 浏览

iwebbrowser2 - 如何为使用 IWebBrowser2 从内存加载的 HTML 文档设置“基本 URL”?

IHTMLDocument2::write()按照此处所述使用,以便将 HTML 从内存加载到IWebBrowser2实例中。代码如下所示:

这正如我所期望的那样工作(加载了 HTML)。但是,找不到任何链接的资源(图像等),因为没有可以从中加载它们的“基本 URL”。

如何设置文档的基本 URL,以便如果“http://bar.com/baz/foo.png”中有图像 foo.png,则可以通过“baz/foo”的 href 找到该图像.png”在加载的文档中?

0 投票
2 回答
2183 浏览

c++ - 如何将 HTML 字符串加载到嵌入式 WebBrowser 控件?

我知道网上有很多关于这方面的文章,我尝试了很多。虽然我可以让我的浏览器在互联网上加载网页,但不知何故我无法让它从内存中加载 HTML。

大多数时候,下面的两种方法只是没有任何明显的效果;其他时候,他们会抛出错误。尽管其他人说“既不pPSI也不pHtmlDoc2指向有效对象”,但我不知道这是不是真的。我已经用注释标记了导致错误的行。

如果您想重现问题,我的问题的最后是完整的工作代码。

方法一

错误:

在 Test.exe 中的 0x51539FB1 (mshtml.dll) 处引发异常:0xC0000005:访问冲突读取位置 0x00000030

方法二

这个是从CodeProject 上的这篇文章修改而来的。在那个来源中,它运行良好,但是当我尝试适应我的代码时它不起作用:

错误:

在 Test.exe 中的 0x51577F2E (mshtml.dll) 处引发异常:0xC0000005:访问冲突读取位置 0x000002C4

第三种可能的方法,从 Microsoft的流中加载 HTML 内容DWebBrowserEvents2::DocumentComplete,建议我从事件的流中加载,我尝试过但未能弄清楚如何实现。

完整的源代码

以下是完整代码。我创建了一个新的 Win32 项目并创建/修改以下文件:

浏览器.h

浏览器.cpp

Win32Project1.cpp

Visual Studio 创建的其他源文件保持不变。

问题

什么问题导致我的程序无法加载 HTML 字符串,我该如何解决?或者您有任何工作示例(没有 MFC 或 ATL)将 HTML 字符串加载到 WebBrowser?

注意:我知道我可以将 HTML 字符串写入硬盘并将文件路径传递给浏览器,但我根本不希望涉及硬盘。

注意2:为了赢得赏金,请给出一个完整的工作代码示例,尽可能多地使用我的代码。浏览器应该成功加载 HTML 字符串。即使它正在加载在线网页,它也应该停止处理这个新命令。

0 投票
1 回答
323 浏览

c++ - 带有 IHTMLDocument3 的 getElementsByTagName 随机返回任何内容

我正在尝试从 C++ 程序中填充 Internet Explorer 中的一些表单输入字段,但我正面临一个随机错误,我希望这是因为我的代码:

在最后一行并且在同一页面上使用相同的 HWND 时,有时我会得到很好的数字或输入字段,并且经常为 nelm 得到 0。

你在我的代码中看到什么错误还是一个错误?请注意,我验证了 HWND 是正确的,并且return从未调用过。

谢谢

0 投票
1 回答
315 浏览

internet-explorer - 在 HTMLDocument 解析器中禁用 VML 支持

我正在解析和处理由 Word 创建的现有 HTML 文件(无法重新创建文件)。带有嵌入图像的 HTML 文件包括支持 vml 的浏览器的条件格式,类似于以下内容:

我将 HTML 文件加载到IHTMLDocument2对象的一个​​实例中。由于 IE 支持 VML,它解析出<img>上面的标签,只留下shapeimagedata标签。我宁愿忽略所有 vml 特定标签,只使用<img>标签。

有没有办法以编程方式禁用 VML 支持(类似于IHTMLDocument2.desgnMode = "On"禁用脚本)?

0 投票
1 回答
343 浏览

c++ - 通过 IHTMLDocument2 和 C++ 更改 div innerHTML

我正在尝试以这种方式使用 IHTMLDocument2 界面更改 div 的内容:

所以我的 div 的内容只是被清除而不是替换为“你好”,我不明白为什么,这可能是一个安全问题吗?

谢谢

0 投票
4 回答
6701 浏览

powershell - 无法使用 IHTMLDocument2

服务器脚本运行在

开发电脑

我的 Windows 10 开发 PC 在上面的代码中运行良好。我想在我的 Server 2008 R2 x64 机器上运行它。我将它升级到 PowerShell v5。我得到以下信息:

方法调用失败,因为 [System.__ComObject] 不包含名为“IHTMLDocument2_write”的方法。

然后下线...

0 投票
0 回答
116 浏览

c++ - 如何处理访问冲突?

我的程序中的某些函数以低概率获得错误指针。

指针是CComPtr <IHTMLDocument2> m_htmldocument2变量。

如果变量不是有效值,则将变量移动m_htmldocument2到局部变量会导致访问冲突错误。m_htmldocument2

我没有办法检查是否m_htmldocument2是一个有效值,并试图将其处理为 __try __except,但我无法做到,因为有一个析构函数。

有没有一种安全的方法可以移动到局部变量?

0 投票
0 回答
405 浏览

delphi - IHTMLDocument2 中的链接

我用inIHTMLDocument2来检索字符串,我有要恢复的链接,但我不知道如何使用我看到我的链接,但我不知道如何检索它。innertextTDinnerhtml

我的 HTML

在innerhtml中,我因此<a href="** My URL **"> <i class = "fa fa-cube" aria-hidden = "true"> </ i> ** My Title ** </a> 想恢复'href'的内容

我的代码

0 投票
0 回答
92 浏览

google-chrome - 解析类似于 IHTMLDocument2 的 Chrome 窗口

使用下面发布的代码,我可以获取 Internet Explorer 窗口的窗口句柄并将其转换为 IHTMLDocument2 对象以读取 html。除了启用远程调试之外,还有什么类似的东西可以用于 Chrome 窗口吗?