搭建的一个 Magento 网站,上线之后,发现浏览器 console 中有不少报错信息:
报错
VM300 rocket-loader.min.js:1 [ROCKET LOADER] Failed to create activatable copy of script
<script defer="" src="/knockout-3.5.1.min.js" type="2522b8e86d55c9fedea4964e-text/javascript" cf-marker-557095156710907=""></script>
Script will not be executed.
cloudflare Rocket Loader 惹的祸
参考 cloudflare 官方论坛的一个讨论:
https://community.cloudflare.com/t/rocket-loader-javascript-error/115550/6
If I was you, I would simply disable Rocket loader. If your website is on SSL (https), all your Javascripts will be served from Cloudflare CDN through HTTP/2 (multiplexing) anyway, and I don’t think rocket loader will add any huge advantages to that.
到 cloudflare 后台,把 Rocket Loader 关闭即可
什么是 Rocket Loader
Rocket Loader 会将您所有 JavaScript 的加载一直推迟到渲染之后再进行,从而优先处理您网站的内容(文本、图像、字体等)。在使用 JavaScript 的页面上,这可使您的用户获得更快加载的体验,并且可改善以下性能指标:
- 首次渲染时间 (TTFP)
- 首次内容渲染时间 (TTFCP)
- 首次有效渲染时间 (TTFMP)
简单来说,就是延迟加载js。在页面加载时暂时注释js,先在页面中呈现其他资源(如CSS,图像等)。等到加载完成后,再去把js动态插回页面中,后浏览器加载完整页面
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式