gpt4 book ai didi

javascript - 主体加载注入(inject): how to restore order sequence

转载 作者:行者123 更新时间:2023-12-03 07:53:47 24 4
gpt4 key购买 nike

我想向 body onload 添加一个事件监听器,并在现有事件监听器之后执行。但执行却是相反的。为什么 ?如何解决这个问题?

https://jsfiddle.net/0LcL1usj/

<html>
<script>
function test() {
alert('SHOULD BE FIRST');
}
</script>

<script>
// Dean Edwards/Matthias Miller/John Resig

function init() {

// quit if this function has already been called
if (arguments.callee.done) return;

alert("hello init");

// flag this function so we don't do the same thing twice
arguments.callee.done = true;

// kill the timer
if (_timer) clearInterval(_timer);

// do stuff
};

/* for Mozilla/Opera9 */
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", init, false);
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
init(); // call the onload handler
}
};
/*@end @*/

/* for Safari */
if (/WebKit/i.test(navigator.userAgent)) { // sniff
var _timer = setInterval(function() {
if (/loaded|complete/.test(document.readyState)) {
init(); // call the onload handler
}
}, 10);
}

/* for other browsers */
window.onload = init;
</script>

<body onload="test();">

</body>

</html>

最佳答案

onload 事件发生在 DOMContentLoaded 之后:

  • DOMContentLoaded当整个 DOM 构建完成时触发,
  • onload当所有链接资源(字体、图像、脚本、iframe...)另外加载时触发。

关于javascript - 主体加载注入(inject): how to restore order sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com