如果嵌入为 activeX,IE8 会破坏兼容性视图
Posted
技术标签:
【中文标题】如果嵌入为 activeX,IE8 会破坏兼容性视图【英文标题】:IE8 breaks compatibility view if embedded as an activeX 【发布时间】:2015-09-21 16:02:51 【问题描述】:将它用作 MFC 中的 CDhtmlDialog,我注意到对于某些网站(例如 wikipedia.org),嵌入式 IE 报告的 documentMode
属性为 7,而使用 IE 应用程序正确地将 documentMode
属性显示为 8 . IE11 也是如此(documentMode
属性在独立启动时为 11,在嵌入式使用时为 7)。这是怎么回事?
【问题讨论】:
WebBrowser 控件的处理方式与本机 IE 不同。使用 BROWSER_EMULATION 功能控制键将默认设置为您的偏好;请参阅msdn.microsoft.com/en-us/library/… 和***.com/questions/646742/… 了解更多信息。 @LanceLeonard 就是这样! 【参考方案1】:IE 的兼容性视图设置决定了网站呈现方式的优先级。默认情况下,无论DOCTYPE
是什么,这些设置都会强制所有 Intranet 站点进入兼容性视图。您可以使用覆盖兼容性视图设置的X-UA-Compatible
,因此无论浏览器设置如何,页面都将以标准模式呈现。
X-UA-Compatible
元标记允许您设置页面应呈现为哪个版本的 Internet Explorer。例如,使用IE=Edge
告诉浏览器呈现最新的。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
【讨论】:
您的答案在直接应用于 IE 加载的网页时是正确的,但是,它无法解释 IE 和托管 webbrowser 控件的应用程序之间的默认差异。 (存在这些差异是因为假设应用程序具有与浏览器不同的兼容性要求。)请参阅我之前评论中的链接以获取更多信息。以上是关于如果嵌入为 activeX,IE8 会破坏兼容性视图的主要内容,如果未能解决你的问题,请参考以下文章
在发布模式下崩溃但在调试模式下不崩溃的 ActiveX 控件