【发布时间】:2013-11-07 11:20:11
【问题描述】:
当我们在 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 的 "object"。
有谁知道为什么会发生这种变化,或者我在哪里可以找到 IE10 和 IE11 之间这些类型差异的列表,以便我弄清楚还有哪些其他重大变化?
2013 年 10 月 30 日更新:
当我把它放进去的时候,我原本以为这和 IE11 javascript 引擎中的类型评估有区别。我已经意识到这个问题是特定于 window.ActiveXObject 对象的。所以我把这个问题的名称从“IE11中的Typeof差异”改为“IE11中的window.ActiveXObject差异”
【问题讨论】:
-
很确定这是对 IE11 进行的故意更改之一,以避免被旧版 IE 检查捕获。
标签: javascript internet-explorer-11