我在尝试使用以下代码时遇到了问题。它在 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);
最佳答案
writeIframe11092()
调用该函数并返回一个值(在本例中为 undefined
),并将该值传递给 attachEvent
.
writeIframe11092
是表示函数本身的变量,这就是您要在此处使用的内容。
if (window.attachEvent){
window.attachEvent('onload', writeIframe11092);
}
else if (window.addEventListener){
window.addEventListener('load', writeIframe11092, false);
}
关于javascript - 类型不匹配 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534629/