浏览器在执行JavaScript代码时会停止处理页面,当页面中有很多JavaScript文件或代码要加载时,将导致严重的延迟。尽管可以使用defer、异步或将JavaScript代码放到页面底部来延迟JavaScript的加载,但这些都不是一个好的解决方案。
下面是Google的建议。
<script> function downloadJSAtOnload(){ var elem = document.createElement("script"); elem.src="defer.js"; document.body.appendChild(elem); }; if(window.addEventListener){ window.addEventListener("load",downloadJSAtOnload,false); }else if(window.attachEvent){ window.attachEvent("onload",downloadJSAtOnload); }else{ window.onload = downloadJSAtOnload; }; </script>
测试结果: