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兼容性查看浏览器模式的区别的主要内容,如果未能解决你的问题,请参考以下文章