如何以编程方式禁用IE兼容模式?


75

我已经停留了一段时间了-我不知道为什么网站在两个相同版本的Internet Explorer中呈现不同的外观。半个小时前,我在IE中遇到了兼容模式按钮,这让我非常生气。

禁用兼容模式已解决我的问题。

有没有办法以编程方式(例如从网页上)禁用它?

编辑:

刚遇到这个博客https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

阅读文章后,我将发布示例代码


不知道是否可以通过网页执行此操作,最好为IE兼容模式(IE 7)进行编码。:(
惊吓

参见stackoverflow.com/questions/1014666/…。它与文档类型无关。
大卫·科拉

我希望有一个Windows / IE设置,但是您不能从网页上执行任何操作来指示这一点,因为您希望停留在IE8中,而不是进入兼容模式。
詹姆斯·布莱克

Answers:


92

如果要“旧”渲染,并且工具栏上没有按钮显示,以便用户可以切换模式,则可以使用以下方法:

<head>
  <!-- Mimic Internet Explorer 7 -->
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
  <title>My Web Page</title>
</head>

其他选项(新老)包括:IE=5IE=7IE=8,或者IE=edge

(边缘等于可用的最高模式)


谢谢-这有效。这仍然意味着我必须更改我的代码才能在IE 7中工作

您是否有某些特别无法在IE8标准模式下使用的功能?如果是这样,请发布另一个问题,也许我们可以为您解决。
scunliffe

这是div的定位。我读过某处IE7的左边距和右边距或这些行上的东西需要额外的几个像素。该网站在Firefox,Safari,Chrome和chrome中看起来都很棒,即使没有兼容模式的版本也是如此,但IE 7却是另一

1
天哪,谢谢你。这让我发疯。我是一名Web开发人员,正在IE9平台上进行开发,但是当我提交工作并被其他事情推销时,它最终都会在实际情况下失真。这个小技巧使我能够强制使用IE9设置,就像我看到它们一样,摆脱了无数看似CSS问题,甚至干扰了jQuery操作。
卢卡斯2012年

2
如果由于某种原因您不能将其放在脚本或css之前的头部,则可以将其作为标头添加到Web服务器配置中。
卢卡斯·霍尔特


4

另请注意,IE8浏览器设置也可以强制执行某种模式。我有一个客户具有通过Intranet模式下的策略强制实施的IE8兼容模式。


+1,这也可以在IE9中强制执行。我猜大概是在所有较新的IE版本中。
13年

0

请添加强制IE不应用兼容模式

<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.