在这里或那里都没有回答。这些问题措辞不佳,答案都是“使用 DOMReady”。
我想确保代码仅在页面完成加载时运行。我无法更改 HTML 文件本身,但如果可以的话,我会做一些类似这样的事情:
<!DOCTYPE html>
<html>
<head>
<script>window.loaded=false;</script>
</head>
<body onload="window.loaded=true;">
<!-- ... -->
</body>
</html>
然后在我的代码中:
if (window.loaded) { run(); }
else { document.addEventListener("load", run); }
这将完全达到我想要的。不幸的是,我无法修改 HTML,这意味着我正在寻找一种方法来确定文档是否已仅从 JS 代码加载(如果 DOM 已准备好则不加载)。
我环顾四周,但到目前为止,我发现的一切都围绕着 DOMReady。真的没有人找过这个吗?