TLDR 版本
非常简单的问题,延迟加载或延迟低优先级 JavaScript 的最佳方法是什么?考虑到这可能是任何东西,从 Google Analytics、Optimizely、Test and Target 到 Custom Code。全部加载了 Adobe DTM。
加长版
我们分析了我们的流量,发现缓慢的加载时间导致销量下降,这不足为奇。不幸的是,很多 JavaScript 都被一个单独的部门搞得臃肿不堪,而且加载时间超过 10 秒只会变得更糟。
我邪恶的一面想要在 Adobe DTM 脚本上放置一个页面加载事件和 setTimeout 以延迟代码,直到很久以后。但这会导致 vendor 代码中的页面加载事件无法正常执行。
我目前为止最好的解决方案是在页面上添加一个页面加载事件,通过附加一个 <script>
来加载 Adobe DTM。元素到 <body>
标签。本质上,我们需要先加载应用程序代码,营销代码应在后台加载而不影响网站。
谁能提供更好的解决方案?
最佳答案
检查您的页面组织 - 确保低优先级脚本加载到正文的末尾,而不是在头部。
为低优先级脚本的脚本标签添加一个defer属性。
确保您已为 JavaScript 文件启用压缩(Web 服务器配置)。
通过为不经常更改的文件设置远期到期日期来利用浏览器缓存,将版本或时间戳附加到 JavaScript 文件以确保正确处理更新。
如果可能,缩小 JavaScript。
如果可能,通过将 JavaScript 文件组合成一个文件来减少它们的数量。
努力确保只请求每个页面所需的 JavaScript。
关于javascript - 延迟加载/延迟 X JavaScript 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39071092/