我的团队曾IE8 Quirks mode
询问我是否与ERP
软件兼容,我已经对quirks模式进行了一些阅读,我明白这是为了将页面呈现为好像是在IE5
中进行渲染,但不支持任何库。但我听说在某些情况下浏览器中的IE8 Compatibility Mode
可以IE7
运行。
我们使用的软件门户在html
内呈现iView
,迫使其在quirks mode
中呈现。我已使用以下样式构建html
:
<doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
....
<body>
....
<!-- load jQuery and other libraries followed by my code-->
</body>
</html>
这会呈现为IE7
,我如何找到它呈现的模式以及如何强制它呈现为IE8或IE7?
答案 0 :(得分:1)
首先,回答你的问题:
它可能会在IE7模式下呈现,但这取决于它的服务方式,应用于页面的安全区域以及许多其他环境因素。鉴于你的帖子中的细节,我想它不会在IE7模式下呈现。 (更多内容)
如果您在最新版本的IE中加载页面,则页面可能会以边缘模式呈现(即IE11标准模式)。您可以通过按F12并从F12工具工具栏区域中读取当前文档模式来检查。您还可以使用window.document.documentMode属性来确定当前的文档模式(如果支持)。
有几种方法可以强制它进入各种文档模式。通常,您必须使用兼容x-ua的标头来指定所需的模式(例如content="IE=8"
)。您选择的值告诉IE使用可用的最高模式。在IE11发布之前,边缘模式被认为是实验性的;现在it's preferred。
这可能(或可能不)在IE7模式下呈现的原因取决于页面的服务方式。如果它在Intranet区域中提供并且IE设置为在兼容性视图中显示Intranet页面,那么页面可能会以IE7模式呈现。话虽如此,您所描述的较大环境可能意味着该页面未在IE7模式下呈现。
iframe会影响等式。如果您的ASP页面将Iview呈现为iframe,则结果取决于父文档。如果父文档以怪异模式呈现,则子文档将以怪异模式呈现。 (至少对于IE的最新版本而言;事情会发生变化in earlier versions)。
因此,如果您提供的代码位于iframe中,则结果将取决于包含iframe的网页的文档模式。
现在,为了控制局面,你应该花点时间阅读nitty gritty details。接下来,您可能希望在代码中添加一些调试代码,以便在呈现页面后显示当前文档模式,以便您可以测试不同实验的结果。
请记住,您不一定需要在页面中放置兼容x-ua的内容。 (您可以使用组策略或拥有server send headers。)
最后,如果您安装了Windows 8.1 Update,则可能需要尝试尝试Enterprise IE (EMIE)。这迫使IE11进入IE8模式,比IE8文档模式更准确地模拟IE8的行为。
我知道这是一般性的,但您寻找的答案在很大程度上取决于您正在使用的具体细节。希望这会使你朝着正确的方向前进。
希望这会有所帮助......
- Lance