javascript - 延迟加载/延迟 X JavaScript 数量

标签 javascript performance asynchronous lazy-loading

TLDR 版本

非常简单的问题,延迟加载或延迟低优先级 JavaScript 的最佳方法是什么?考虑到这可能是任何东西,从 Google Analytics、Optimizely、Test and Target 到 Custom Code。全部加载了 Adob​​e DTM。

加长版

我们分析了我们的流量,发现缓慢的加载时间导致销量下降,这不足为奇。不幸的是,很多 JavaScript 都被一个单独的部门搞得臃肿不堪,而且加载时间超过 10 秒只会变得更糟。

我邪恶的一面想要在 Adob​​e DTM 脚本上放置一个页面加载事件和 setTimeout 以延迟代码,直到很久以后。但这会导致 vendor 代码中的页面加载事件无法正常执行。

我目前为止最好的解决方案是在页面上添加一个页面加载事件,通过附加一个 <script> 来加载 Adob​​e DTM。元素到 <body>标签。本质上,我们需要先加载应用程序代码,营销代码应在后台加载而不影响网站。

谁能提供更好的解决方案?

最佳答案

检查您的页面组织 - 确保低优先级脚本加载到正文的末尾,而不是在头部。

为低优先级脚本的脚本标签添加一个defer属性。

确保您已为 JavaScript 文件启用压缩(Web 服务器配置)。

通过为不经常更改的文件设置远期到期日期来利用浏览器缓存,将版本或时间戳附加到 JavaScript 文件以确保正确处理更新。

如果可能,缩小 JavaScript。

如果可能,通过将 JavaScript 文件组合成一个文件来减少它们的数量。

努力确保只请求每个页面所需的 JavaScript。

关于javascript - 延迟加载/延迟 X JavaScript 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39071092/

相关文章:

node.js - nodejs异步的while

javascript - Jquery click 方法仅在我的测验中有效一次

javascript - 使用 supertest 测试下载是否成功

python - Python中的平方根倒数

linux - Intel i7 (Ivy Bridge) 上的 PMU 缓存事件

linux - 如何在 perl 中使用 O_ASYNC 和 fcntl?

javascript - Vuetify - 更改表页脚中选择输入的样式

javascript - 查找字母数字字符、文本并替换为 HTML

javascript - 优化 JavaScript for 循环真的有必要吗?

c# - 取消所有异步任务