Chu*_*utt 83 internet-explorer x-ua-compatible
我最近参加了几个在线课程,我仍然看到一些教师默认情况下将以下元标记添加到他们的文档顶部:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)
思考似乎是这同样重要和有用<meta charset="UTF-8">.
但为什么?
根据微软的Modern.ie文档,它是"确保Internet Explorer使用最新引擎"的"最佳实践".好,可以.
但是,如果按照流程图MSDN上它清楚地表明,没有`X-UA兼容信息的文档被转发到用户的"兼容性视图"喜好,如果多数民众赞成不设置,那么只需按照!DOCTYPE声明.
换句话说,除非用户具有一些兼容性视图设置,否则IE将只关注您的!DOCTYPE并使用浏览器的最新标准模式进行渲染 ...... X-UA-Compatible IE=Edge根本不需要声明.
正如MSDN所说:" 使用HTML5文档类型声明来启用边缘模式 ".
那么在什么情况下X-UA-Compatible IE=Edge需要?
Chu*_*utt 140
正如@ David的回答指出的那样,除非您在"本地Intranet"区域中托管网站,否则几乎没有理由<meta http-equiv="X-UA-Compatible" content="IE=edge">在您的网页中加入,并且(根据Microsoft的最佳做法建议)绝对没有理由将其包含在HTML.(您应该将它放在服务器配置或网站标题中 - 而不是放在HTML本身中.)
如果您正在考虑X-UA-Compatible在项目中的任何位置使用,您应该记住兼容性视图仅影响IE8,9和10.它仅在IE8中引入并在IE11中被禁用.
另请注意,IE11是目前唯一官方支持的IE版本.所有旧版本都应该被认为是不安全的.
如果这还不足以说服您不要使用它,请考虑Microsoft声明IE8及更高版本已经在标准模式下自动呈现,当<!DOCTYPE它存在时,使其更加毫无意义.
您可以自己查看IE用于决定使用哪种文档模式的流程:

如您所见,如果不存在X-UA-Compatible元标记或HTTP标头,则会检查用户的"兼容性视图"设置.如果用户没有任何网站,IE会检查是否存在<!DOCTYPE声明.如果找到一个,它会自动使用最新的标准模式(又名"EmulateIEx").如果没有,则恢复为Quirks模式.
更多原因是你不应该使用微软自己的"X-UA兼容"元标记(强调我的):
当Internet Explorer遇到兼容X-UA的META标记时,它会使用指定版本的引擎重新启动.这是一个性能损失,因为浏览器必须停止并重新开始分析内容.
换句话说,它会减慢初始页面渲染速度
X-UA-Compatible指令是一种工具,允许应用程序在对应用程序进行更新时使用最新的Internet Explorer版本.
它只是为临时使用而设计的.
最佳实践是兼容X-UA的HTTP标头.将指令添加到响应标头会告诉Internet Explorer在解析内容之前要使用哪个引擎.必须在网站的服务器中进行配置.
换句话说,如果你绝对需要,有更好的方法来实现X-UA-Compatible.
从2016年1月12日开始,只有支持的操作系统可用的最新版Internet Explorer才会收到技术支持和安全更新.Internet Explorer 11是Internet Explorer的最新版本,将继续在Windows 7,Windows 8.1和Windows 10上接收安全更新,兼容性修补程序和技术支持.
IE11是唯一官方支持的IE版本.
X-UA-Compatible在您的HTML中包含元标记的唯一原因是为您的网站覆盖用户在IE8,9和10中的"兼容性视图"设置.几乎在所有情况下,用户都不会更改这些设置(为什么会这样?),现在甚至不再支持这些浏览器了.
简而言之:这个标签已经有了它的一天.
Dav*_*vid 18
如果用户正在浏览位于"本地Intranet"区域中的页面(例如在公司Intranet上),则默认情况下会打开"兼容性视图".这是我使用"X-UA-Compatible"强制IE使用最新引擎的时候.
| 归档时间: |
|
| 查看次数: |
72343 次 |
| 最近记录: |