在 IE11 中查看我们的网站以找出问题所在时,我们注意到以下代码未正确评估为“true”:
this.isIEBrowser = false;
if (window.ActiveXObject){
this.isIEBrowser = true;
}
经过进一步调查,似乎typeof(window.ActiveXObject)导致"undefined",而在 IE10 模式下,它导致"function"。当我将window.ActiveXObject添加到监视列表时,它显示为函数类型。同样,如果我执行typeof(window.ActiveXObject.prototype),我会得到IE11 和 IE10 的“对象”。
有谁知道为什么会发生这种变化,或者我在哪里可以找到 IE10 和 IE11 之间这些类型差异的列表,以便我可以弄清楚还有哪些其他重大变化?
2013 年 10 月 30 日更新:
当我把它放进去的时候,我原本以为这与 IE11 javascript 引擎中的类型评估不同。我已经意识到这个问题是特定于 window.ActiveXObject 对象的。所以我把这个问题的名字从“IE11中的Typeof差异”改为“IE11中的window.ActiveXObject差异”