一尘不染

如何将WebBrowser控件放入IE9的标准中?

html

我正在使用自动化(即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();

阅读 339

收藏
2020-05-10

共1个答案

一尘不染

您是否尝试过在HTML中设置

<meta http-equiv="X-UA-Compatible" content="IE=9" />

要么

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

这意味着最新版本

2020-05-10