我经常遇到这个问题,最后认为这可能值得一个问题。
在IE中运行以下代码会导致输出frameElement
,这意味着找到了属性frameElement,但如果您尝试通过window["frameElement"]
访问它,则会抛出错误。
for (var i in window){
try {
var c = window[i]
} catch(e) {
console.log(i);
}
}
当我试图简单地访问窗口的每个属性时,我最初意识到这个问题,但总是出现错误。
有谁知道这个的原因?怎么可能,有一个属性,但它无法访问?
答案 0 :(得分:0)
这可能发生在任何浏览器上。任何对象(包括Window)上的属性都可以是具有副作用的getters方法,包括抛出异常。