document.addEventListener('DOMContentLoaded', () => {

});
我了解到,对于常规脚本,此事件监听器确保JS不会引用尚未加载的节点。触发DOMContentLoaded后执行内容。
我还用read触发了DOMContentLoaded之前执行了一个模块(由于它内置了defer属性)。
我使用的模块似乎不需要DOMContentLoaded监听器。我可以确认不需要DOMContentLoaded监听器来正确访问节点吗?
另外,我想不起来如何测试,所以我在这里问。如果您知道我能做到的,请分享!

最佳答案

我认为这篇文章应该为您解决问题,它的图片很棒https://flaviocopes.com/javascript-async-defer/#the-position-matters
存在defer时,它指定在页面完成解析后执行脚本,因此可以保证脚本无需DOMContentLoaded即可访问节点

10-08 07:56