我正在使用自动化(即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标准模式: 替代文字
我的问题是如何更新我的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();
您是否尝试过在HTML中设置
<meta http-equiv="X-UA-Compatible" content="IE=9" />
要么
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
这意味着最新版本