谷歌pagespeed抱怨我的Facebook像按钮脚本。我如何推迟剧本?延期加载Facebook Like按钮脚本
45KiB的JavaScript在初始页面加载期间被解析。推迟解析 JavaScript以减少页面呈现的阻塞。 http://static.ak.facebook.com/.../xd_arbiter.php?...... https://s-static.ak.facebook.com/.../xd_arbiter.php(内嵌 的JavaScript 21KiB)?... (内嵌JavaScript的21KiB)http://www.facebook.com/.../like.php?... (内嵌的3KiB的JavaScript)
下面是我使用的代码我将它加载到页面页脚的.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.async=true;
js.defer=true;//THIS DOES NOT APPEAR TO SATISFY PAGESPEED
js.src="//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js,fjs);
}
(document, "script", "facebook-jssdk")
);
结果在下面的脚本标签(通过Chrome的检查员):
<script
id="facebook-jssdk"
async=""
defer=""
src="//connect.facebook.net/en_US/all.js#xfbml=1"></script>
[Socialite.js](http://socialitejs.com/)是一个伟大的图书馆,使得这非常容易做到这一点。 – Nathaniel 2013-03-11 23:21:55