我刚刚阅读了有关延迟加载 js 的信息。我发现 Particks 的文章很有趣http://www.feedthebot.com/pagespeed/defer-loading-javascript.html。
我看了一下 facebook 和 google 的 js 代码。他们都在使用匿名函数,所以我想知道这是否是在页面加载后延迟 js 加载?
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
还是帕特里克推荐是在页面加载后真正推迟加载 js 的唯一方法?
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.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;
</script>
thx,我非常感谢您的专业知识!