如何在Magento中使用像head.js或labjs这样的JavaScript加载器

Mat*_*man 5 javascript magento head.js labjs

蝙蝠Magento带有超过6个JavaScript库,这些库对已经很繁琐的加载时间没有帮助.有没有人能够成功地使用像head.js或labjs这样的脚本加载器和Magento,以便它们可以异步加载?我一直在尝试,但无法让它工作.

似乎页面上的内联脚本在加载库之前触发.我知道head.js有一个像head.ready这样的函数来告诉脚本执行,但是有很多内联脚本将它添加到整个站点中的每个事件都是不切实际的.

Jon*_*Day 4

对于内联脚本,有一个编程解决方案。

您可以编写一个绑定到core_block_abstract_to_html_aftercontroller_action_layout_render_before事件的观察者,这些事件在输出渲染的 HTML 之前立即触发。在观察者中,您可以使用 a在每个标签之后立即preg_replace插入一条语句。head.ready<script>

它会增加渲染时间的一小部分,但我怀疑它会少于下载库的延迟。如果您使用全页缓存,则该函数只会被调用一次。

您可以使用内置的 Magento Profiler 来测试影响。至少值得一试。

HTH,
法学博士