加载页面后推迟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 () { ... });
。 该代码可以显式调用,也可以是下载的最后一个文件。