我怎么知道我是否可以在我的网页上推迟JS脚本?

时间:2015-07-26 15:06:27

标签: javascript performance

我有一个magento site,它有一个非常重的主题,我试图优化。它使用了相当多的JS脚本,当我测试网站的速度时,它应该推迟给我。

e.g。

<script type="text/javascript" src="/skin/frontend/default/forest_fashion/js/prototype.and.jquery.min.js"></script>
<script type="text/javascript" src="http://www.princessly.com/media/js/f8a453ce8ffc122a8a56247434d1ac82.js"></script>
<script type="text/javascript" src="http://www.princessly.com/skin/frontend/default/forest_fashion/js/princessly.js"></script>
<script type="text/javascript" src="http://www.princessly.com/skin/frontend/default/forest_fashion/js/overlaybox.js"></script>

但是我从来没有写过所有的JS代码所以我不确定我是否可以简单地在脚本标签中添加延迟属性而不会破坏任何东西因为我也听说过尽管添加defer属性会使我的网站渲染速度更快客户端某些功能可能依赖于在呈现页面之前解析的脚本。

这是真的吗?我可以简单地在我的页面上添加defer到任何JS脚本而不首先区别对待吗?我怎么知道我是否可以安全地将defer属性添加到我页面上的脚本中?

1 个答案:

答案 0 :(得分:0)

如果要在页面加载之前加载代码,那么在页面加载后添加它会导致错误。

e.g。如果页面已经加载

,则不会执行此特定代码块
window.addEventListeners('load',function(){
    //do stuff
    alert('Foo');
},false);

所以我 99%确保只需添加defer属性就不会使代码无问题。这将取决于它的使用方式。