Iframe中的IE9窗口对象没有addEventListener



我正在使用javascripts document.write向页面添加Iframe。Iframe内部调用的页面(来自另一个域)使用进行一些设置

window.addEventListener('load', function() { 
    //do stuff here 
}

它在Chrome中工作。它适用于Firefox。它在歌剧院工作。

它在IE9中不起作用。我得到了最奇怪的消息,即"Object没有属性或方法'addEventListener'"。这显然是IE9所说的窗口对象,因为当我

console.log(window)

我得到

[object Window]

但是当我

console.log(window.addEventListener)

我得到

undefined

当我直接调用页面时,脚本运行良好,但在Iframe中,我得到了一个神奇的阉割窗口对象,它不知道addEventListener(可能还有其他东西)?!这里到底发生了什么?

经过多次尝试和错误,我发现创建Iframe的页面破坏了HTML(没有Doctype,没有title标记),因此迫使IE9进入Quirks模式,这显然意味着能力降低。清理加载页面后,它工作正常。

相关内容

  • 没有找到相关文章

最新更新