加载页面后推迟javascript和jquery的终极解决方案

您可能知道, Google PageSpeed Insights希望您推迟使用javascript。

谷歌本身提出了推迟代码的解决方案 :

 function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "deferredfunctions.js"; document.body.appendChild(element); } if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else window.onload = downloadJSAtOnload;  

当然是一个很好的解决方案,但它远非真实情况(包括许多脚本,执行代码等等)

举例来说:

           

问题是:如何将Google建议应用于上述示例?

如果你有downloadJSatOnload将几个脚本元素附加到页面,然后调用你通常放在$(document).ready(function () { ... });的代码,那么Google示例可以用于多个脚本$(document).ready(function () { ... }); 。 该代码可以显式调用,也可以是下载的最后一个文件。