我在我的Win32 C++应用程序的对话框中嵌入了一个Web浏览器(没有MFC、ATL等),并最初从包含一些HTML代码的字符串设置文档内容。这个HTML被正确地渲染出来。当“文档完成”事件发生时,我通过将文本节点附加到BODY元素来操作DOM。
问题在于,尽管在BODY元素的接口上调用IHTMLElement::get_outerHTML
表明文本节点存在,但浏览器内容在对话框中未改变。
我尝试调用IWebBrowser2::Refresh
和::InvalidateRect
/::UpdateWindow
,但都没有帮助。
有任何想法吗?如果需要,我可以发布我的代码部分。
此外,是否有人知道
- 原则上,在修改DOM后是否需要触发刷新(或者它应该是自动的)
- 当HTML文档是从字符串而不是URL加载时,
IWebBrowser2::Refresh
是否有意义
仍然希望有人回答这个问题......谁能帮忙呢?