gpt4 book ai didi

c++ - 为什么 IWebBrowser2 在 DOM 更改后不刷新?

转载 作者:可可西里 更新时间:2023-11-01 15:28:47 25 4
gpt4 key购买 nike

A 在我的 Win32 C++ 应用程序(没有 MFC、ATL 等)的对话框中嵌入了一个 Web 浏览器,我最初从包含一些 HTML 代码的字符串中设置文档的内容。此 HTML 已正确呈现。当“文档完成”事件发生时,我操纵 DOM,例如通过将文本节点附加到 BODY 元素。

问题在于,尽管在 BODY 元素的界面上调用 IHTMLElement::get_outerHTML 表明文本节点存在,但浏览器内容在对话框中显示为未更改。

我试过同时调用 IWebBrowser2::Refresh::InvalidateRect/::UpdateWindow,但都没有帮助。

有什么想法吗?如果需要,我可以发布部分代码。

还有,有没有人知道

  • 原则上,是否需要在修改 DOM 后以某种方式触发刷新(或者应该自动触发)
  • IWebBrowser2::Refresh 在从字符串而不是 URL 加载 HTML 文档时是否有意义

仍然希望得到这个问题的答案......有人吗?

最佳答案

您应该使用静态内容对其进行测试,例如

<html>
<head></head>
<body>
Hello World
<script>
alert("a");
</script>
</body>
</html>

如果显示了警告框但没有显示任何内容,则表明您的实现有问题。

关于c++ - 为什么 IWebBrowser2 在 DOM 更改后不刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com