在研究Internet Explorer的兼容性视图时, 我读到没有必要放
<meta http-equiv="X-UA-Compatible" content="IE=edge">
HTML文档中的,除非用于“本地Intranet”。 根据我读过的文章,
如果文档中没有X-UA兼容的元标记,则浏览器将检查用户的兼容性视图设置。如果用户没有在视图列表中指定特定的网站,则浏览器将检查是否存在<!DOCTYPE
声明,如果存在,它将自动呈现为最新的标准模式,否则呈现为Quirks模式。
如果是这样,我想知道下面的这些情况会发生什么,
如果用户的浏览器非常旧(例如IE 6或7),并且未指定兼容性元标记。如果存在DOCTYPE,它将呈现为最新的标准模式吗?那么浏览器如何处理最新功能和CSS等?
我也已经了解了Quirk模式,但是Quirk模式到底是什么?它如何影响渲染?
如果在文档中指定了<meta http-equiv="X-UA-Compatible" content="IE=7">
,那么即使是最新的浏览器,它也可以呈现为所有浏览器的IE7吗?
答案 0 :(得分:2)
如果用户的浏览器非常旧(例如IE 6或7),并且未指定兼容性元标记。如果存在DOCTYPE,它将呈现为最新的标准模式吗?那么浏览器如何处理最新功能和CSS等?
是的,前提是DOCTYPE是一种触发标准模式的文件,例如一个用于包含所有必需位(公共标识符,系统标识符等)的严格DTD。 Internet Explorer 6和更高版本中提供了标准模式。
它会尽其所能处理一切。
我也读过有关Quirk Mode的信息,但是Quirk Mode到底是什么?它如何影响渲染?
这个范围太广,无法深入回答,但请参见http://jkorpela.fi/quirks-mode.html。简而言之,“怪癖”模式是一种兼容模式,适用于真正古老的站点(例如20年之久)和/或真正破裂的站点。
如果在文档中指定了
<meta http-equiv="X-UA-Compatible" content="IE=7">
,那么即使是最新的浏览器,它也会对所有浏览器都呈现为IE7吗?
是的,直到并包括Internet Explorer 11。
Despite the word "edge",与X-UA兼容的标头和meta标签与Microsoft Edge完全无关,因此本主题中的任何内容均不适用于该浏览器:
对于X-UA兼容的新手来说,今天阅读此书的开发人员可能会因使用“ edge”一词而感到困惑-IE8中引入了X-UA-Compatible标头,该标头比至少早6年新的Windows 10浏览器Microsoft Edge,在这种情况下,“ edge”指的是IE渲染引擎的最新版本。它与Microsoft Edge根本不相关,并且出于明显的原因,您实际上无法告诉IE呈现为Microsoft Edge。