我正在摆弄 Three.js。我发现,它只能通过以下方式起作用:
<script src="script.js" defer="defer"></script>
但我不知道,为什么这个 defer="defer" 如此重要......
你能帮我吗?
最诚挚的问候 托比·P。
最佳答案
它会导致浏览器延迟解析脚本(不一定延迟加载)。
通常,当浏览器遇到脚本标记时,它会暂停对 HTML 的任何进一步处理,直到脚本被下载、获取、解析(然后在大多数浏览器上编译)并执行。这是允许 javascript 通过 document.write() 注入(inject) html 所必需的。
但这通常意味着用户会长时间注视空白屏幕。
使用 defer 标签,在 HTML 完全加载之前不会解析/编译脚本。如果您有多个带有 defer 属性的脚本标记,则它们的解析顺序将保持不变。
这一切在互联网上都有大量记录。 w3c 页面是一个很好的起点(但可能有点简洁)。
关于javascript - js中的defer ="defer"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587258/