如何设置IE浏览器模式而不是设置文档模式? 为何选择浏览器模式和文档模式 为什么我们使用这两种不同的模式?
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
它只会更改文档模式。 是否可以通过编程方式更改IE浏览器模式?
答案 0 :(得分:1)
这两种模式做了两件不同的事情:
文档模式决定了IE呈现页面的方式。
浏览器模式确定IE如何识别自身 - 即用户代理字符串。
X-UA-Compatible
标志设置文档模式。无法通过代码单独显式设置模式;这只能在开发工具中手动完成。 (但见下文‡)
这意味着如果您依靠用户代理字符串来识别浏览器,那么使用X-UA-Compatible
会给您不正确的结果,因为浏览器识别自身的方式与实际呈现方式不同。
所有这一切的结果是你应该避免使用User Agent字符串来识别浏览器;它可以欺骗你,而且经常会这样。
如果可能的话,避免使用X-UA-Compatible
强制IE使用兼容模式也是一个好主意 - 如果你发现自己需要compat模式,那是因为你的网站在旧的IE版本中比在较新的版本。鉴于较新版本更符合标准,这可能意味着您需要修复代码中的错误。理想情况下,您应该修复这些错误,而不是切换到compat模式; compat模式只应作为最后的手段使用。
(‡)值得注意的是,即将推出的IE11会发生这种变化,在大多数情况下,这将取消通过开发工具设置浏览器和文档模式的能力。 IE开发人员正试图减少人们使用compat模式的动机,并鼓励人们编写更符合标准的代码。