我无法在IE9中禁用IE兼容模式按钮。
我的头和doctype看起来像这样:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--[if lte IE 8]>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-en" xml:lang="en-en" class="ie8">
<![endif]-->
<!--[if IE 9]>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-en" xml:lang="en-en" class="ie9">
<![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-en" xml:lang="en-en">
<!--<![endif]-->
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="description" content="meta content here" />
</head>
<body>
<!-- page content here //-->
</body>
</html>
如何在IE9中禁用兼容模式按钮?
我以为我做了我的研究。我应用了各种后备解决方案来显示从7到9及以上的每个IE中的所有内容。
客户端抱怨兼容模式,当激活时,它会弄乱布局。有没有办法禁用该按钮?
答案 0 :(得分:18)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
自2014年1月起谷歌停止使用Chrome框架,因此chrome = 1部分是 不需要
<meta http-equiv="X-UA-Compatible" content="IE=edge">
“边缘”强制IE中的标准模式(或最新渲染引擎),“chrome”适用于Chrome Frame。
此处提供更多信息:
答案 1 :(得分:5)
我在页面顶部使用条件注释来嵌入基于版本的ie
类。 (例如:)
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
因此,即使我设置了X-UA-Compatible
元标记,仍然会在IE中显示Compatability Mode按钮。
要修复,我必须将条件注释移到页面底部并使用JS来应用ie
类。在查看我的网站时,IE中不再显示兼容性按钮。
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8; IE=9; IE=10; IE=EDGE; chrome=1">
<head>
<body>
<!-- ..Other content... -->
<script type="text/javascript">
window.flagAsIE = function(version) {
var cls = document.body.parentElement.getAttribute('class');
document.body.parentElement.setAttribute('class', "ie ie" + version + " " + cls);
};
</script>
<!--[if lt IE 7 ]><script type='text/javascript'>flagAsIE('6');</script><![endif]-->
<!--[if IE 7 ]><script type='text/javascript'>flagAsIE('7');</script><![endif]-->
</body>
</html>
答案 2 :(得分:4)
以下是答案:
更改元标记的顺序。
答案 3 :(得分:1)
我发现是导致按钮出现的条件注释。删除这些并使用功能检测来添加我的html类已经解决了这个问题。对X-UA-Compatible
内容进行任何修改都不会删除该按钮。
我使用了这组has.js检测:
if (has("css-border-radius") && !has("input-attr-placeholder")) {
html.className += ' ie9';
}
if (!has("css-border-radius") && !has("input-attr-placeholder")) {
html.className += ' lt-ie9';
}
if (!has("css-box-sizing")) {
html.className += ' ie7';
}
答案 4 :(得分:0)
问题是你的js代码中的某个地方你正在使用浏览器嗅探代码,如document.all,window.ActiveXObject,navigatror.userAgent,attachEvent,detachEvent等。
使用功能检测代码替换所有内容 jquery.support按钮将消失。