【发布时间】:2018-09-11 21:54:26
【问题描述】:
最初,我将所有的 javascript 都放在了头部,但后来我注意到页面加载时间非常慢 - 这并不奇怪。因此,我将所有脚本移至底部以消除 DOM 渲染阻塞效应。
在 Google 的 PageInsights 页面上,他们说这不再是最佳做法,他们建议将脚本放在首位并添加异步加载
https://developers.google.com/speed/docs/insights/BlockingJS
我遇到的问题和我的理解是,如果您使用异步,那么脚本将在完成加载后立即执行,因此您可能会遇到依赖问题 - 这正是 jQuery 和脚本所发生的依赖它。
https://calendar.perfplanet.com/2016/prefer-defer-over-async/
我发现有一个类似于 async 的 defer 属性,但它将执行推迟到加载。如果是这样,为什么我仍然会遇到这些依赖错误?
它不会每次都发生。碰巧的是,有时依赖 jQuery 的脚本比 jQuery 本身加载得更快,如下所示。
我的问题是,我应该怎么做才能确保所有内容都异步加载但直到加载完成才执行?
希望这是一个简单的修复,无需大量花哨的 javascript。
【问题讨论】:
标签: javascript jquery dom