Javascript 将事件附加到window.onload
我想在window.onload上附加一个函数,以便在加载所有内容后执行。我曾尝试:Javascript 将事件附加到window.onload,javascript,performance,Javascript,Performance,我想在window.onload上附加一个函数,以便在加载所有内容后执行。我曾尝试: window.addEventListener('load', myFunction ,false); window.onload = myFunction; window.attachEvent('onload', myFunction); (this way does not work on Chrome) 我遇到的情况是,查看Chrome的控制台(网络选项卡)时,此功能在窗口之前执行。onload(红
window.addEventListener('load', myFunction ,false);
window.onload = myFunction;
window.attachEvent('onload', myFunction); (this way does not work on Chrome)
我遇到的情况是,查看Chrome的控制台(网络选项卡)时,此功能在窗口之前执行。onload
(红线之前)。我知道这一点,因为myFunction
尝试加载远程javascript文件,而该文件在红线之前加载
我还尝试了更简单的方法:
$(function() {
console.log("1111111");
});
window.onload=console.log("222222);
其输出为:
22222
11111
为什么???第一部分应该在DomContentLoaded之后执行,第二部分应该在window.load之后执行,不是吗?那么为什么会发生这种情况呢
// This way does not work in Chrome
这是因为您正在使用
onload
而不是load
调用console.log(“22222”)
立即,因此它当然会在触发DOMContentLoaded事件之前运行。将它包装到一个匿名函数中,它将按照您的预期工作。您的意思是:window.onload=function(){console.log(“ssss”)}();我已经试过了,同样的问题,首先它输出22222,然后是111111不,仍然有完全相同的问题。您正在立即调用匿名函数。把那些最后的()
去掉。你不担心attachEvent()
而不是addEventListener()
?事实上,这是一种将事件侦听器添加到旧版本的方法。据我所知,作者分别尝试了这种方法,这就是为什么这不是问题所在。