Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Magento中为PageSpeed异步加载javascript_Javascript_Performance_Magento_Magento 1.9_Pagespeed - Fatal编程技术网

在Magento中为PageSpeed异步加载javascript

在Magento中为PageSpeed异步加载javascript,javascript,performance,magento,magento-1.9,pagespeed,Javascript,Performance,Magento,Magento 1.9,Pagespeed,我正试图优化我的Magento 1.9.3网站,遵循Google PageSpeed提示,说我有同步加载的js和css并阻止页面呈现 为了解决这个问题,我将所有javascript文件都放在异步加载中,如本文所建议的 因此,我加载的所有脚本如下所示: <action method="addItem"><type>skin_js</type><name>js/jquery.fancybox.2.1.5.min.js</name><p

我正试图优化我的Magento 1.9.3网站,遵循Google PageSpeed提示,说我有同步加载的js和css并阻止页面呈现

为了解决这个问题,我将所有javascript文件都放在异步加载中,如本文所建议的

因此,我加载的所有脚本如下所示:

<action method="addItem"><type>skin_js</type><name>js/jquery.fancybox.2.1.5.min.js</name><params>defer</params></action>
<action method="addItem"><type>skin_js</type><name>js/jquery.fancybox.2.1.5.min.js</name><params>async</params></action>
skin_jsjsjs/jquery.fancybox.2.1.5.min.jsdefer
skin_jsjs/jquery.fancybox.2.1.5.min.jsasync
这样,再次运行PageSpeed可以获得更好的结果

问题是,我遇到了大量javascript异常,因为可能是模板文件(.phtml)中的脚本在加载脚本之前加载。如果清除浏览器缓存并重新加载页面,情况会更糟

那么,有没有更好的办法来解决这个“问题”? 我应该移动页面末尾的所有文件吗?还是忽略谷歌网页速度提示

提前感谢。

您也可以使用“延迟”使它们在最后加载,可以使用异步或不使用异步


因此,如果按照需要的顺序使用“defer”加载它们,它们不应该抛出异常,除非在加载它们之前使用任何必需的东西。

最后,js解决方案附带了一个扩展,可以在dom末尾移动所有js,并且似乎不会在加载页面时产生问题

扩展名叫做pagespeed,来自mediarox。 我将把链接留在这里,只要它能继续工作,仅供参考

无论如何,我不得不以一种在dom开始时加载自定义样式表的方式来配置扩展,因为从另一种方式可以看出,dom在样式表之前就已经加载并准备好了,并且产生了可怕的效果

使用
apachemod_pagespeed
mod_expires和mod_headers
配置良好,也取得了非常好的效果和改进


通过这些小改动,我们取得了很好的效果,但最重要的是主要来自图像压缩和资产缩小。

您的意思是在最后只移动上面折叠内容不需要的文件?这是相当复杂的magento和了解一页页之前或之后需要什么。。。我正试着沿着那条路走,但我觉得自己并不安全