IE9和IE9兼容性视图浏览器模式之间的区别

4
IE9与IE9兼容性视图浏览器模式有什么区别? 还有,如果我在服务器端(Java)添加了X-UA-Compatible头部信息,这会影响浏览器模式吗?
httpRes.addHeader("X-UA-Compatible", "IE=edge");

这是否会覆盖浏览器模式?

我需要一种方法,即使用户玩弄了开发人员工具栏模式设置,也永远不会显示兼容性视图。如何做到这一点?


虽然您无法控制开发者工具栏,但首先要问的问题是,为什么您认为这是一个好主意? - EricLaw
2个回答

1

1
嗯...这并没有回答我的关于覆盖问题的问题..比如我怎么可以覆盖开发者工具栏设置? - copenndthagen
1
很遗憾,您无法覆盖开发人员工具栏设置,因为它在浏览器上,您无法强制浏览器按照您的意愿执行操作...我认为这也是出于安全原因。 - Alesanco

1

您无法阻止用户玩弄开发者工具栏,说实话这是一件非常好的事情。我不希望您控制我的浏览器,尽管我没有使用IE,但仍然如此。

然而,您可以告诉浏览器如何呈现您的页面。这就是X-UA-Compatible的作用。

好吧,实际上回答一些您的问题:

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

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

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

那么,X-UA-Compatible 是做什么的呢?它告诉浏览器应该以哪种模式渲染页面,这意味着你可以让 IE9 以 IE5 的方式渲染页面。这意味着你可以在一定程度上控制页面的渲染,但是除非你能够访问用户的计算机,否则你不能期望对用户是否使用开发者工具栏有控制权。

请参阅thread了解更多信息。


1
我已经删除了你关于元标签和服务器端的段落,因为它是不正确的。<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 等效"*。 - ulidtko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接