我怎么知道如果我可以推迟我的网页上的JS脚本

How do I know if I can defer a JS script on my web page?

本文关键字:JS 脚本 网页 我的 如果 我可以 推迟 我怎么知道      更新时间:2023-09-26

我有一个magento网站,它有一个非常沉重的主题,我正在努力优化。它使用了相当多的JS脚本,当我测试网站速度时,建议我应该推迟。

<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到任何JS脚本,而不首先区分?我如何知道我是否可以安全地将defer属性添加到页面上的脚本?

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

。如果页面已经加载

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

所以我99%肯定,通过简单地添加defer属性不会使代码问题自由。