jquery - 延迟加载 Facebook Like 按钮脚本

标签 jquery facebook deferred-loading

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/

相关文章:

javascript - 如何在移动设备上禁用fancybox并直接显示大图

javascript - 多个 AJAX 请求乱序

php - 尝试使用ajax删除mysql数据库条目

javascript - Facebook SDK 错误 : init not called with valid version

facebook - 移动网站 Facebook 登录 使用 Facebook 应用程序获取登录详细信息

javascript - 页面速度 - 简单地使用 defer 属性有什么问题吗?

javascript - AJAX 调用后 JQuery 工具提示不工作

iphone - Facebook SDK Login 启动一个新的 ViewController

php - Laravel 如何延迟在单个服务提供者中列出的多个绑定(bind)?

javascript - Defer 没有更快地加载页面