Javascript 下载所有脚本标记后是否触发DOMContentLoaded?
考虑以下场景:Javascript 下载所有脚本标记后是否触发DOMContentLoaded?,javascript,html,events,dom,Javascript,Html,Events,Dom,考虑以下场景: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script src="js/heavy_js_file.js" defer></script> <script s
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="js/heavy_js_file.js" defer></script>
<script src="js/heavy_js_file2.js" defer></script>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
console.log("DOM fully loaded and parsed");
});
</script>
</body>
</html>
文件
document.addEventListener(“DOMContentLoaded”),函数(事件){
log(“DOM已完全加载并解析”);
});
下载并执行所有外部延迟脚本后,DOMContentLoaded
是否会触发
附言:解析HTMLDOM后,会触发
DOMContentLoaded
。我不确定解析HTMLDOM是否意味着下载和执行js文件 是的,只要脚本不是异步的,解析脚本后将触发DOMContentLoaded
编辑我不知道如何将问题标记为重复问题,但我很确定答案已经在这里了:情况并非总是如此。如果一个
async
脚本被缓存或快速获取,它将在执行时暂停HTML
解析,并且DOMContentLoaded
将在脚本解析后激发。因此,这要视情况而定。