我正在使用javascripts document.write向页面添加iframe。在Iframe中调用的页面(来自另一个域)使用
进行一些设置window.addEventListener('load', function() {
//do stuff here
}
适用于Chrome。它适用于Firefox。它适用于Opera。
它在IE9中不起作用。我得到了最奇怪的消息,“对象没有属性或方法'addEventListener'”。它显然是IE9正在讨论的窗口对象,因为当我
时console.log(window)
我得到了
[object Window]
但是当我
console.log(window.addEventListener)
我得到了
undefined
当我直接调用页面时,脚本运行正常,但在Iframe中我得到了这个神奇的阉割窗口对象,它不知道addEventListener(也可能是其他东西)?!到底发生了什么事?
答案 0 :(得分:3)
经过多次试验和错误后,我发现创建我的Iframe的页面已经破坏了HTML(没有Doctype,没有标题标签),从而迫使IE9进入Quirks模式,这显然意味着能力降低。清理加载页面后,它可以正常工作。