javascript - js中的defer ="defer"是什么意思?

标签 javascript three.js

我正在摆弄 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/

相关文章:

javascript - 为什么 waterfall 这么慢?

javascript - 如何在 ColdFusion 文件中使用 DeserializeJSON 方法

javascript - 尝试通过 Three.js 模拟 3D 效果

three.js - 光照模型的计算在着色器程序中是如何工作的?

javascript - Three.js 项目崩溃移动

javascript - 从面部数组中删除重复的面部 - Three.js

javascript - AngularJS $q.all() 结果为空

javascript - BabylonJS 画线

javascript - 将innerWidth和innerHeight更改为自定义尺寸THREEjs

javascript - 将文本与 Trianglify Javascript 库一起使用