为什么我们不应该使用IE浏览器查看的所有页面使用IE遗留文档“边缘”模式?

时间:2015-10-13 17:50:43

标签: internet-explorer internet-explorer-8 cross-browser

Microsoft documentation for Understanding legacy document modes中,它显示为:

  

边缘模式 ...将Internet Explorer置于支持的最高文档模式。 Edge最常用于定期维护的网站,这些网站经常在多个浏览器(包括Internet Explorer)之间进行互操作性测试。 ...从IE11开始,边缘模式被认为是首选文档模式

但后来说......

  

因为它强制所有页面都以标准模式打开,所以无论Internet Explorer的版本如何,都可能会对使用Internet Explorer查看的所有页面使用边缘模式。请勿执行此操作,因为仅从Internet Explorer 8开始支持X-UA兼容标头。

(强调我的)

我不明白这些最后的句子是警告的;它似乎与先前的陈述相矛盾。

如果我正在制作一个定期测试和更新的网站,并且可以被各种IE版本使用,为什么我不想仅仅因为IE不支持此标记而使用<meta http-equiv="x-ua-compatible" content="IE=edge" >版本8之前?

1 个答案:

答案 0 :(得分:1)

没有想法我希望我能解决这个问题......

tl;博士的回答是,imho,你应该做到这一点。

您发现的矛盾是因为该文件是在特定时间点编写的,并且在文档首次发布后更改了指南。时间表和资源是不可能重写材料的。相反,考虑到人员配备,工作量和不断变化的故事,他们会尽可能地进行补丁。

最初(IE8),边缘模式被认为是一种测试模式,一种不适合生产。当首次编写该文档的内容时(在IE9项目期间),产品团队的指导非常清楚地说明了该页面旨在支持的特定IE版本。 (公平地说,这是在对IE6标准模式和IE7标准模式之间的差异进行批评之后出现的。)

后来,指南改为说最好为所有版本的IE使用HTML5 doctype,因为这会(至少)启用最高支持(对于IE6或更高版本)。

(如果您查看MSDN的IE部分中的相关文档,您将找到对HTML5 doctype的安静但一致的引用。)

要回答你的最后一个问题,你真正想要的是:

  • 对所有网页使用HTML5文档类型,包括Chrome,FF和Edge。
  • 对于仍在使用IE8到IE11的用户,请使用x-ua-compatible设置为content="ie=edge"。它支持该特定版本支持的标准。
  • 请注意,这适用于通过Internet区域加载的页面。如果您正在加载本地文件或来自Intranet的文件,则需要添加MotW或从本地Web服务器加载页面,以便将其解释为Internet区域请求。

请记住,IE使用security zones来描述公共网页,本地网页和其他可能会改变您真正希望为给定链接强制执行的规则的上下文。 (了解页面区域对于真正理解为什么IE正在解释它是非常重要的。)

希望这会有所帮助......

- Lance