类型不匹配 - JavaScript

时间:2013-03-20 21:00:57

标签: javascript

尝试使用以下代码时遇到问题。它在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);

1 个答案:

答案 0 :(得分:19)

writeIframe11092()调用该函数并返回一个值(在这种情况下为undefined),并将该值传递给attachEvent

writeIframe11092是一个表示函数本身的变量,这就是你想在这里使用的。

if (window.attachEvent){
    window.attachEvent('onload', writeIframe11092);
}
else if (window.addEventListener){
    window.addEventListener('load', writeIframe11092, false);
}