为什么 IWebBrowser2 在 DOM 更改后不刷新?
Why doesn't IWebBrowser2 refresh after a DOM change?
A 在我的 Win32 C++ 应用程序的对话框中嵌入了一个 Web 浏览器(没有 MFC、ATL 等),我最初从包含一些 HTML 代码的字符串中设置文档的内容。此 HTML 已正确呈现。当"文档完成"事件发生时,作 DOM,例如通过将文本节点附加到 BODY 元素。
问题在于,尽管在 BODY 元素的界面上调用IHTMLElement::get_outerHTML
表示存在文本节点,但浏览器内容在对话框中显示不变。
我试过打电话给IWebBrowser2::Refresh
和::InvalidateRect
/::UpdateWindow
,但都没有帮助。
有什么想法吗?如果需要,我可以发布部分代码。
另外,有谁知道
- 原则上,是否需要在修改 DOM 后以某种方式触发刷新(或者应该是自动的)
- 当从字符串而不是 URL 加载 HTML 文档时,
IWebBrowser2::Refresh
是否有意义
仍然希望得到这个问题的答案...任何人?
你应该使用静态内容来测试它,例如
<html>
<head></head>
<body>
Hello World
<script>
alert("a");
</script>
</body>
</html>
如果显示警报框但没有任何内容,则此标记您的实现有问题。
我发现了问题 - 这是我代码中的一个错误。在重新加载页面的代码中,有一个非常晦涩的调用 IWebBrowser2::Refresh,从而将我的动态更改还原到 DOM。
相关文章:
- 是否可以配置提升日志刷新?
- 如何在qt中同步应用程序和显示器的刷新率?
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- std::endl,在 Python 中是否有等价物?(返回 + 刷新)
- 在 directx11 代码中更改全屏模式下的刷新率不起作用
- 通过嵌入式 IWebBrowser2 控件中的链接打开 youtube 搜索失败
- 如何在 Windows 中立即刷新文件夹图标
- IWebbrowser2:使用 Uint8array (填充而不循环)
- 刷新来自Qpid质子连接的所有消息而不是等待?
- 如何让 cout 缓冲区在 ubuntu 上刷新
- 显示DHT1306温度数据时如何正确刷新Adafruit 11 OLED?
- 为什么PNG图像的stdout有时会在printf中刷新图像的一半
- 禁用"Script Error"弹出窗口 IWebBrowser2 c++ WinApi
- 如何将PayPal的结帐与C Winapi中的Iwebbrowser2连接
- QML:收到C 信号从C 传递时刷新问题
- 在加载页面时,如何为iwebbrowser2设置背景颜色
- 托管语言是否锁定本机库的刷新和重新加载变量?
- 记录器何时应刷新
- 在 Linux 上编译一个 c++ 应用程序,并在 TI TIVA TM4C123GH6PM上刷新它
- 为什么 IWebBrowser2 在 DOM 更改后不刷新?