我想知道如何阻止使用IE 8的用户进入兼容模式?
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我找到了这个标签,我认为这迫使人们保持IE-8模式,但我不太确定,因为我有IE 9而无法检查。
如果人们处于IE 9模式,我强迫他们不进入IE 8或IE 7兼容模式?
我尝试将上面的代码放在我的代码中并转到IE 9 - &gt;工具 - &gt;兼容性视图(灰显)
但“兼容性视图设置”并未显示为灰色,似乎您可以通过此处添加该网站。
那么不应该禁用吗?
答案 0 :(得分:91)
你需要的只是强制禁用C.M.在IE中 - 只需粘贴此代码(在IE9和c.m.下将被禁用):
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
来源:http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html
答案 1 :(得分:68)
这足以迫使IE
用户在任何IE
版本中删除兼容模式:
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
然而,有一些需要注意的警告:
<head>
下的第一个标记中。只有<title>
标记可以放在它上面。如果你不这样做,你会在IE9
开发工具上遇到错误:X-UA-Compatible META tag ignored because document mode is already finalized.
如果您希望此标记验证,请务必记得使用meta
关闭/>
标记,而不只是>
。
从IE11
开始,边缘模式是首选的文档模式。要支持/启用它,请使用HTML5文档类型声明<!doctype html>
。
如果您需要在IE7
上支持网络字体,请务必使用<!DOCTYPE html>
。我已对其进行了测试,发现使用IE7
时,<!doctype html>
上的网页字体渲染非常不可靠。
谷歌Chrome Frame的使用很受欢迎,但不幸的是,它将在本月,2014年1月的某个时候被删除。
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1">
答案 2 :(得分:49)
<meta http-equiv="X-UA-Compatible" content="IE=8" />
应该强制您的页面以IE8标准呈现。用户可以将站点添加到兼容性列表中,但此标记优先。
检查的一种快速方法是加载页面并在地址栏中输入以下内容:
javascript:alert(navigator.userAgent)
如果在字符串中看到IE7,则在兼容模式下加载,否则不加载。
答案 3 :(得分:9)
如果你正在使用ASP.NET MVC,我在_Layout的代码块中发现Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
可以很好地工作:
@Code
Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else
答案 4 :(得分:5)
FelixFett给出的答案对我有用。重申:
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" />
我把它作为第一个&#39; meta&#39;在我的代码中标记。我添加了10和11,因为这些是现在为Internet Explorer发布的版本。
我会对他的回答发表评论,但我没有足够高的声誉......
答案 5 :(得分:2)
在Apache中实现此目的的另一种方法是将.htaccess
中的以下行放在您网站的根文件夹中(或Apache的配置文件中)。
BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE
这要求您启用mod_headers
和mod_setenvif
模块。
额外的HTTP标头只会被发送到IE浏览器,而不会发送给其他浏览器。
答案 6 :(得分:1)
在JSF中我用过:
<h:head>
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</f:facet>
<!-- ... other meta tags ... -->
</h:head>
答案 7 :(得分:0)
在页面中添加标记不会控制Internet控制面板中的UI(选择“工具” - >“选项”时出现的对话框)。如果您正在查看可能是google.com,msn.com,about:blank或example.com的主页,则Internet控制面板无法知道您网页的内容可能是什么,也无法下载它在后台。
查看this document on MSDN,其中讨论了兼容模式以及如何为您的网站关闭它。