我正在使用自动化(即COM自动化)在Internet Explorer(9)中显示一些HTML:ie = CoInternetExplorer.Create;ie.Navigate2("about:blank");webDocument = ie.Document;webDocument.Write(szSourceHTML);webDocument.Close();ie.Visible = True;出现Internet Explorer,显示我的html,其开头为:<!DOCTYPE html><HTML><HEAD> ...注意: html5标准模式的加入文档类型html除了文件不是ie9标准模式外;它处于ie8标准模式: 替代文字如果我先将html保存到计算机中:替代文字然后查看该 html文档,IE进入标准模式:替代文字我的问题是如何更新我的SpawnIEWithSource(String html)功能以使浏览器进入标准模式?void SpawnIEWithSource(String html){ Variant ie = CoInternetExplorer.Create(); ie.Navigate2("about:blank"); webDocument = ie.Document; webDocument.Write(html); webDocument.Close(); ie.Visible = true;}编辑:更冗长,不太易懂或可读的代码示例,这可能不会进一步帮助问题是:IWebBrowser2 ie;CoCreateInstance(CLASS_InternetExplorer, null, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_WebBrowser2, ie);ie.AddRef();ie.Navigate2("about:blank");IHtmlDocument doc;dispDoc = ie.Document;dispDoc.AddRef();dispDoc.QueryInterface(IHTMLDocument2, doc);dispDoc.Release()doc.Write(html); doc.Close();doc.Release();ie.Visible = true;ie.Release();更新资料评论者在ieblog条目上要求使用浏览器模式与文档模式测试网站:当HTML内容位于嵌入式Web控件中时,我们能否描述文档模式的确定方式?似乎是文档模式选择不同-也许是出于兼容性原因?MarkSil [MSFT]回应:@Thomas:感谢您提出这个问题。WebBrowser控件以与IE相同的方式确定文档模式,因为它包含相同的Web平台(例如,在IE和WebBrowser控件主机之间存在一个共享的mshtml.dll)。WebBrowser控件确实默认为“兼容性视图”浏览器模式,这意味着默认的文档模式为IE7。这是一篇有关此内容的详细信息:blogs.msdn.com/.../ more- ie8-extensibility-improvements.aspx。托马斯对此回应:@MarcSil(re:WebBrowser控件)使用注册表项为WebControl选择文档模式的问题在于它整体上适用于应用程序。我为Google SketchUp编写了插件,您可以在其中使用WebDialog窗口来创建UI-它只是窗口中的WebBrowser控件。但这会导致问题,因为我想对WebBrowser控件的实例强制使用文档模式,而不是对SU的所有WebBrowser控件整体强制使用文档模式。因此,我的问题是:如何为WebBrowser控件的每个实例控制文档模式?
3 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
您是否尝试过在HTML中设置
<meta http-equiv="X-UA-Compatible" content="IE=9" />
要么
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
这意味着最新版本
- 3 回答
- 0 关注
- 381 浏览
添加回答
举报
0/150
提交
取消