Google pagespeed 提示我的 facebook 像按钮脚本。我怎样才能推迟脚本?
45KiB of JavaScript is parsed during initial page load. Defer parsing JavaScript to reduce blocking of page rendering. http://static.ak.facebook.com/.../xd_arbiter.php?... (21KiB of inline JavaScript) https://s-static.ak.facebook.com/.../xd_arbiter.php?... (21KiB of inline JavaScript) http://www.facebook.com/.../like.php?... (3KiB of inline 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>
最佳答案
使用 setTimeout 卢克!
setTimeout( function () {
(function(d,s,id){
// load js
...
}
(document, "script", "facebook-jssdk")
);
}, 3000);
您可以将负载放在另一个“线程”中以异步或延迟它
关于jquery - 延迟加载 Facebook Like 按钮脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15349867/