我想知道如何阻止使用IE 8的用户进入兼容模式?
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我发现这个标签,我认为这迫使人们保持IE-8模式,但我不太确定,不能检查,因为我有IE 9。
如果人们处于IE 9模式,我强迫他们不进入IE 8或IE 7兼容模式?
我试着将上面的代码放在我的代码中并转到IE 9 - >工具 - >兼容性视图(灰显)
但“兼容性视图设置”并未显示为灰色,似乎您可以通过那里添加该网站。
所以不应该禁用?
<meta http-equiv="X-UA-Compatible" content="IE=8" />
应强制您的页面以IE8标准呈现。用户可以将站点添加到兼容性列表,但此标记优先。
一种快速检查方法是加载页面并在地址栏中输入以下内容:
javascript:alert(navigator.userAgent)
如果在字符串中看到IE7,则在兼容模式下加载,否则不加载。
所有你需要的是强制禁用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
这应该足以迫使IE
用户在任何IE
版本中删除兼容模式:
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
但是,有一些需要注意的警告:
<head>
下的第一个标记包含在内。只有<title>
标签可以放在它上面。如果你不这样做,你会在IE9
Dev Tools上出错:X-UA-Compatible META tag ignored because document mode is already finalized.
meta
而不是/>
关闭>
标签。IE11
开始,边缘模式是首选的文档模式。要支持/启用它,请使用HTML5文档类型声明<!doctype html>
。IE7
时在<!DOCTYPE html>
上渲染webfonts非常不可靠。谷歌Chrome Frame的使用很受欢迎,但遗憾的是它将在本月,2014年1月的某个时候被删除。
IE7
广泛的相关信息<!doctype html>
。使用它作为第一个元标记的提示是在前面提到的源<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1">
上,已经更新。
FelixFett给出的答案对我有用。重申:
Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
我把它作为我代码中的第一个'meta'标签。我添加了10和11,因为这些是现在为Internet Explorer发布的版本。
我会对他的回答发表评论,但我没有足够高的声誉......
在Apache中实现此目的的另一种方法是将@Code
Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else
中的以下行放在您网站的根文件夹中(或Apache的配置文件中)。
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" />
这要求您启用.htaccess
和BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE
模块。
额外的HTTP标头仅发送到IE浏览器,而不是其他浏览器。
在JSF我用过:
mod_headers
向页面添加标记不会控制Internet控制面板中的UI(选择“工具” - >“选项”时出现的对话框)。如果您正在查看可能是google.com,msn.com,about:blank或example.com的主页,则Internet控制面板无法知道您网页的内容可能是什么,也无法下载它在后台。
看看mod_setenvif
,它讨论了兼容模式以及如何为您的网站关闭它。