下载所有脚本标签后是否触发了DOMContentLoaded?

时间:2017-05-20 15:48:02

标签: 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 src="js/heavy_js_file2.js" defer></script>
    <script>
    document.addEventListener("DOMContentLoaded", function(event) {
        console.log("DOM fully loaded and parsed");
    });
    </script>
</body>

</html>

下载并执行所有外部延迟脚本后,DOMContentLoaded会激活吗?

P.S:MDN definition说解析html DOM后会发出DOMContentLoaded。我不确定解析html dom是否意味着下载和执行js文件。

1 个答案:

答案 0 :(得分:1)

是的,只要您的脚本不是异步,解析脚本后就会触发DOMContentLoaded。

编辑我不知道如何将问题标记为重复,但我很确定anwser已在此处:Defer attribute and onload event