Javascript 如何使用JS检查IE11是否在兼容性视图中
我想检查当前域是否启用了IE11兼容性视图。通过以下方式设置兼容性视图:工具>兼容性视图设置 我知道几年前就有人问过这个问题,但看起来由于Javascript 如何使用JS检查IE11是否在兼容性视图中,javascript,internet-explorer-11,compatibility,Javascript,Internet Explorer 11,Compatibility,我想检查当前域是否启用了IE11兼容性视图。通过以下方式设置兼容性视图:工具>兼容性视图设置 我知道几年前就有人问过这个问题,但看起来由于 有人知道另一种方法吗?如果您只想检查是否正在兼容模式下运行,可以使用此脚本 //创建新的ieUserAgent对象 var ieUserAgent = { init: function () { // Get the user agent string var ua = navigator.userAgent; this.compatibilityM
有人知道另一种方法吗?如果您只想检查是否正在兼容模式下运行,可以使用此脚本 //创建新的ieUserAgent对象
var ieUserAgent = {
init: function () {
// Get the user agent string
var ua = navigator.userAgent;
this.compatibilityMode = false;
// alert (ua);
if(ua.indexOf("MSIE") == -1){
this.version = 0;
return 0;
}
if(ua.indexOf("compatible") == -1){
this.compatibilityMode = false;
return 0;
}else{
this.compatibilityMode = true;
return 0;
}
}
};
// Initialize the ieUserAgent object
ieUserAgent.init();
-或-
/**
*检查客户端是否为IE且在兼容性视图中
*
*@returns{boolean}
*/
在IE版本8-11中,您可以使用
document.documentMode
。有效值为5、7(兼容模式)、8、9、10和11(边缘)
- 在控制台中设置兼容性模式将直接更改该值
- 加载带有
的页面时,可能重复的内容不完全相同。这是如何检查IE11的兼容性模式。上面的链接只用于检查IE 11版本。似乎您只需要在userAgentIE 11的开始处查找兼容的
oxymoron@JaromandaXIE11已更新,不再包含与字符串兼容的字符串。谢谢Janaki,但这与旧解决方案相同,我上面提到的IE11更新删除了字符串“MSIE”,无论您是否在compatibility view(兼容性视图)中,因此这将不起作用。我想检测是否在dev tools(我认为您指的是仿真选项卡)下启用了compatibility view(兼容性视图)而不是compatibility mode(兼容性模式)。在IE11上,通过--Tools>compatibilityview设置来设置兼容性视图
function isIECompatibilityMode() { var ua = navigator.userAgent; if (ua.indexOf("MSIE") == -1) { return false; } return (ua.indexOf("compatible") != -1); }
<!doctype HTML> <body> <p>Hello World!<p> </body>
<html> <head> <meta http-equiv="x-ua-compatible" content="IE=9"/> </head> <body> <p>Hello World!<p> </body> </html>