多个社交按钮快速加载?

时间:2012-08-07 15:44:47

标签: performance iframe facebook-social-plugins social pagespeed

我的页面很像this,有很多社交按钮。很多意味着超过50个按钮,因为该页面上的每个帖子都有自己的按钮。

所以也许我会让页面更小,帖子更少,但这不是主要原因而不是我要找的东西。

我想知道如何让按钮更快......

  1. 使用XFBML? IFRAME? HTML5?
  2. 如何让所有这些脚本从一个脚本运行而不是重复?
  3. 您是否建议在用户向下滚动时加载其余按钮?
  4. 您是否建议使用AddThis或Sharrre等服务?
  5. 如何异步制作所有JS加载?
  6. 其他提示?
  7. 谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 你真的无法控制任何外部插件的性能。
  2. 您可以在提交href之前生成每个按钮div的数组,然后将每个按钮写入其所需位置的DOM。
  3. 我建议不要同时加载它们,你可以用setTimeout来补偿它们,“我建议每个200ms”。
  4. 按照第三方不推荐,按钮工作正常。
  5. 异步,请参阅http://developers.facebook.com/docs/reference/javascript/
  6. 没有其他建议。
  7. 异步样本。


    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : 'YOUR_APP_ID', // App ID
          channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });
    
        // Additional initialization code here
      };
    
      // Load the SDK Asynchronously
      (function(d){
         var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
         if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         ref.parentNode.insertBefore(js, ref);
       }(document));
    </script>