我正在使用IE 11运行Windows 7(64位)
拥有以下navigator.userAgent
:
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2;
.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
.NET4.0C; .NET4.0E)"
我希望能够在我可以在我的网站上显示任何内容之前检测IE的版本。换句话说,我工作的公司已经更新了大多数计算机来运行IE11或Chrome。但是有些电脑还有IE9。
我希望我的网站能够为运行IE11或Chrome的用户正常运行。应检测任何其他版本的浏览器,并通知用户更新他的机器。
我在SO引用v11
上找到的所有代码都是userAgent
字符串的一部分,但这不是这里的情况。
编辑:我也尝试过:
var isIE11 = !!(navigator.userAgent.match(/Trident/)
&& !navigator.userAgent.match(/MSIE/));
//value is false in IE6/IE9/IE11
var isIE11 = !!(navigator.userAgent.match(/Trident/)
&& navigator.userAgent.match(/rv 11/));
//value is false in IE6/IE9/IE11
var isIE11 = !(window.ActiveXObject) && "ActiveXObject" in window;
//value is false in IE6/IE9/IE11
可以做些什么来检测IE11?
编辑2:此链接http://kangax.github.io/compat-table/es6/可以检查仅在IE11上运行的hoisted ...
功能。所以我也试过这个:
{ function f() { return 1; } }
function g() { return 1; }
{ function g() { return 2; } }
{ function h() { return 1; } }
function h() { return 2; }
alert( f() === 1 && g() === 2 && h() === 1); // alerts false in all ie versions
答案 0 :(得分:2)
如果只有IE浏览器连接到该页面,则仅在IE11 +中支持hoisted block-level function declaration
测试
function hoistTest() {
// Note: only available outside of strict mode.
{ function f() { return 1; } }
function g() { return 1; }
{ function g() { return 2; } }
{ function h() { return 1; } }
function h() { return 2; }
return f() === 1 && g() === 2 && h() === 1;
}
document.getElementById('out').appendChild(document.createTextNode('hoisted block-level function declaration: ' + hoistTest()));
<pre id="out"></pre>
更新:在IE11上工作的截图
答案 1 :(得分:1)
仅在IE11中返回true:
!(window.ActiveXObject) && "ActiveXObject" in window
答案 2 :(得分:-1)
检查Trident引擎版本是否为7.0;早期版本的Internet Explorer具有早期的Trident引擎版本。
示例:
来源:https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx
请注意,您必须特别注意非桌面PC Internet Explorer版本(Lumia手机,Xbox等)。
此外,最新版本的Microsoft浏览器 Edge ,不再使用Trident版本。
答案 3 :(得分:-1)
在IE中,您可以访问documentMode
上的document
属性,该属性将返回IE的版本。
要测试11或更高版本,您可以使用以下内容:
document.documentMode > 10