如何在Magento中使用像head.js或labjs这样的JavaScript加载器
作者:互联网
蝙蝠Magento带有超过6个JavaScript库,这些库对已经很繁琐的加载时间没有帮助.有没有人能够成功地使用像head.js或labjs这样的脚本加载器和Magento,以便它们可以异步加载?我一直在尝试,但无法让它工作.
似乎页面上的内联脚本在加载库之前触发.我知道head.js有一个像head.ready这样的函数来告诉脚本执行,但是有很多内联脚本将它添加到整个站点中的每个事件都是不切实际的.
解决方法:
关于内联脚本,有一个程序化的解决方案.
您可以编写一个绑定到core_block_abstract_to_html_after或者controller_action_layout_render_before事件的Observer,它会在输出呈现的HTML之前立即触发.在Observer中,您可以使用preg_replace在每个< script>之后立即插入head.ready语句.标签.
它会在渲染时间上多加一点,但我怀疑它会比下载库的延迟少.如果您使用的是整页缓存,那么该函数只会被调用一次.
您可以使用内置的Magento Profiler来测试影响.值得一试至少.
HTH,
JD
标签:javascript,magento,labjs,head-js 来源: https://codeday.me/bug/20190518/1128465.html