document.addEventListener('DOMContentLoaded', () => {
});
我了解到,对于常规脚本,此事件监听器确保JS不会引用尚未加载的节点。触发DOMContentLoaded后执行内容。我还用read触发了
DOMContentLoaded
之前执行了一个模块(由于它内置了defer
属性)。我使用的模块似乎不需要
DOMContentLoaded
监听器。我可以确认不需要DOMContentLoaded
监听器来正确访问节点吗?另外,我想不起来如何测试,所以我在这里问。如果您知道我能做到的,请分享!
最佳答案
我认为这篇文章应该为您解决问题,它的图片很棒https://flaviocopes.com/javascript-async-defer/#the-position-matters
存在defer
时,它指定在页面完成解析后执行脚本,因此可以保证脚本无需DOMContentLoaded
即可访问节点