Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将事件附加到window.onload_Javascript_Performance - Fatal编程技术网

Javascript 将事件附加到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.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()
?事实上,这是一种将事件侦听器添加到旧版本的方法。据我所知,作者分别尝试了这种方法,这就是为什么这不是问题所在。