2016 年 11 月 18 日编辑
此代码也有效(对于那些更喜欢其他解决方案而不使用 ActiveX 的人)
var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
// true on IE11
// false on Edge and other IEs/browsers.
原答案
为了检查 Ie11 ,你可以使用这个:(已测试)
(或运行这个)
!(window.ActiveXObject) && "ActiveXObject" in window
我有 IE 的所有 VMS:
注意:这不适用于 IE11:
正如你在这里看到的,它返回 true :
所以,我们能做些什么 :
显然,他们添加了机器位空间:
ie11 :
"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko"
ie12:
"Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko"
所以我们可以这样做:
/x64|x32/ig.test(window.navigator.userAgent)
这将仅对 ie11 返回 true。