我正在搞乱Three.js。我发现它只能按以下方式工作:
<script src="script.js" defer="defer"></script>
但我不知道,为什么 defer =“defer”非常重要......
你能帮助我吗?
祝你好运 Tobi P。
答案 0 :(得分:1)
它会导致浏览器推迟解析脚本(不一定延迟加载)。
通常,当浏览器遇到脚本标记时,它会暂停HTML的任何进一步处理,直到脚本被下载,获取,解析(然后在大多数浏览器上编译)并执行。这是允许javascript通过document.write()注入html所必需的。
然而,这通常意味着用户长时间不看空白屏幕。
使用defer标记,在HTML完全加载之前,不会解析/编译脚本。如果你有多个带延迟atrtribute的脚本标签,那么它们的解析顺序就会保持不变。
这些都在互联网上广泛记录。 w3c页面是一个很好的起点(但可能有点简洁)。