Defer,Async和PageSpeed Insights

时间:2014-04-25 13:35:36

标签: javascript jquery html5 asynchronous

我尝试使用PageSpeed Insights的建议优化页面速度加载,特别是延迟JavaScripts,以便不阻止要呈现的页面内容。

因此,似乎HTML5引入了一个很好的很酷的功能,async属性,允许在"混乱"中异步加载脚本。模式。还有另一个属性defer,它也异步加载它们,但在" ordered"模式(据我所知that article)。

所以,我总结说

  1. 始终使用(<script src='my.js'>}个defer属性。
  2. 如果脚本不是&#34;加载关键&#34; (比如jQuery或jQuery-ui)可以使用async属性。
  3. 这是正确的结论吗?

    PS。

    免费提问:
    是在文档末尾添加脚本 ,自动&#34;取消阻止&#34;文件的呈现?据我所知,一些脚本会阻止渲染,而不会区分它们在文档中的位置(<head></body>之前)......

1 个答案:

答案 0 :(得分:1)

  

1。始终使用(对于每个<script src='my.js'>)延迟属性。

您应该只推迟可以延迟的脚本。在某些情况下,您可能需要保证执行顺序,或依赖必须内联的功能。例如,调用document.write 的脚本不得延迟。

  

2。如果脚本不是&#34;加载关键&#34; (比如jQuery或jQuery-ui)可以使用async属性。

&#34;加载关键&#34;没有任何特定的含义,所以它是一个糟糕的措辞选择。 async应该用于可以按任何顺序执行的脚本,而不是其他脚本的依赖。