旧方式:
(function(d){
var js, id = 'facebook-jssdk';
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
新方式:
(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 = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
如果我们看一下差异,你可以注意到一些变化:
<head>
标记。为什么?我可以想象在其他阻塞脚本之前加载它会更快,但是因为他们建议将脚本放在<body>
的开头,这意味着它还处理了标题中的所有脚本标记?或者我错过了什么?答案 0 :(得分:1)