IE9和IE9兼容性查看浏览器模式的区别

Posted

技术标签:

【中文标题】IE9和IE9兼容性查看浏览器模式的区别【英文标题】:Difference between IE9 and IE9 Compatibility View browser mode 【发布时间】:2013-07-14 13:46:00 【问题描述】:

IE9和IE9兼容性视图浏览器模式有什么区别? 另外,如果我在服务器端(Java)添加 X-UA-Compatible 标头,它会影响浏览器模式吗?

httpRes.addHeader("X-UA-Compatible", "IE=edge");

这会覆盖浏览器模式吗?

我需要一种方法,即使用户使用开发工具栏模式设置,他也永远不会显示兼容性视图。我该怎么做?

【问题讨论】:

虽然您无法控制开发者工具栏,但第一个问题是为什么您认为这是个好主意? 【参考方案1】:

不知道你有没有read here,有明确的解释!

【讨论】:

嗯......它没有回答我与覆盖问题相关的问题......比如我如何覆盖开发人员工具栏设置? 不幸的是你不能覆盖开发者工具栏设置,因为在浏览器上,你不能强迫浏览器做你想做的事......我认为也是出于安全原因。【参考方案2】:

您无法阻止用户使用开发工具栏,老实说,这是一件非常非常好的事情。我不希望你控制我的浏览器,不是因为我使用的是 IE,而是仍然。

但是,您可以做的是告诉浏览器它应该如何呈现您的页面。这就是X-UA-Compatible 的用途。

好的,现在回答你的一些问题:

兼容性视图适用于为旧版 IE 设计的网站。

为旧版 Windows Internet Explorer 设计的网站在当前版本中并不总是按预期显示。我们在 Windows Internet Explorer 8 中通过添加兼容性视图功能解决了这个问题,该功能允许用户“恢复”到该平台的先前浏览器版本,该版本模拟 IE7 标准模式。

您可以在@Alesanco 提供的链接中阅读。

那么X-UA-Compatible 做了什么?好吧,它告诉浏览器它应该以哪种模式呈现页面,这意味着您可以告诉 IE9 像 IE5 一样呈现页面。 这意味着您可以在一定程度上控制页面的呈现,但您不能期望控制用户是否使用开发人员工具栏,除非您可以访问用户的计算机。

更多信息请参见thread。

【讨论】:

我已经编辑了你关于元标记和服务器端的段落——因为它不正确。 <meta http-equiv 标签正好用于模拟 HTTP 标头(您可能知道,它是由 HTTP 服务器发送的);在 html 中包含 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 与在 HTTP 正文之前发送 X-UA-Compatible: IE=edge HTTP 标头具有相同的效果。因此名称为:http-equiv 代表 “HTTP 等效项”

以上是关于IE9和IE9兼容性查看浏览器模式的区别的主要内容,如果未能解决你的问题,请参考以下文章

兼容模式下ie9和ie10显示样式在不兼容模式下为啥不加载css样式?

手机怎么使用ie9以上浏览器

IE9 浏览器模式和条件注释

IE9以下浏览器对CSS3的常用兼容处理

IE9兼容性视图Javascript问题

JavaScript:如果它处于 IE7 或 IE8 兼容模式,我可以检测到 IE9 吗?