尝试使用以下代码时遇到问题。它在Firefox,Safari,Chrome和IE 9 + 10中运行完美,但在IE8中运行时会导致页面的其余部分“崩溃”。我收到的控制台错误是“类型不匹配”,调试器指向IF语句行。我一直在撞墙试图弄明白,但无济于事。有没有人知道这里到底发生了什么?
function writeIframe11092()
{
alert("BEFORE");
document.write('<iframe style=\"position:absolute;left:-40000px;\" src=\"https://mydomain.com/images/close.gif\" ></iframe>');
alert("AFTER");
}
if (window.attachEvent)
window.attachEvent('onload', writeIframe11092() );
else if (window.addEventListener)
window.addEventListener('load', writeIframe11092(),false);
答案 0 :(得分:19)
writeIframe11092()
调用该函数并返回一个值(在这种情况下为undefined
),并将该值传递给attachEvent
。
writeIframe11092
是一个表示函数本身的变量,这就是你想在这里使用的。
if (window.attachEvent){
window.attachEvent('onload', writeIframe11092);
}
else if (window.addEventListener){
window.addEventListener('load', writeIframe11092, false);
}