IE11 typeof window.ActiveXObject === "undefined"

今天在调一个Applet上传组件,调试IE11时又差点踩坑里了,typeof window.ActiveXObject返回undefined了。。。

但是window.ActiveXObject === undefined又是不成立的。。。

以后靠谱的检测需要换成window.ActiveXObject === undefined,客官可以见DEMO页和本人WIN7 IE11下测试结果:

DEMO页面

1
2
3
4
5
6
7
8
9
navigator.appName; //Netscape
navigator.userAgent; //Mozilla/5.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; rv:11.0) like Gecko
typeof window.ActiveXObject; //undefined
typeof window.ActiveXObject === "undefined"; //true
!!window.ActiveXObject; //false
window.ActiveXObject === undefined; //false
window.ActiveXObject === void 0; //false
window.ActiveXObject == undefined; //true
window.ActiveXObject == void 0; //true

另外在http://www.guokr.com/post/449426/看到IE11将navigator.appName改成Netscape了,引用页面中一句:“IE 10是最后一个appName叫做Microsoft Internet Explorer的网页浏览器了,突然好悲伤。。。”