很多XFBML Facebook Like按钮很慢?

时间:2011-07-27 00:38:56

标签: javascript facebook facebook-like

请参阅http://running.ph/

它只是挂起铬一段时间,而所有按钮都加载。我已经阅读过使用IFrame避免这种情况,但我真的想使用XFBML JS来获得所有额外的功能,比如跟踪喜欢,评论和发送按钮。

有没有人有解决方案? 我确定我不是唯一一个有10个以上Like按钮的网站。

4 个答案:

答案 0 :(得分:21)

啊我通过检查Techcrunch / AOL的作用找到了答案。 您可以在用户滚动时加载XFBML。

1。)不要在FB.init上解析XFBML或加载JS SDK

FB.init({
  appId  : APP_ID,
  xfbml  : false
});

2.。)加载jQuery和jquery.sonar.js - 这包含滚动和滚动自定义事件

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://artzstudio.com/files/jquery-boston-2010/jquery.sonar/jquery.sonar.js"></script>

3。)jQuery代码解析在scrolllin事件上的XFBML(从Techcrunch窃取)

jQuery(document).ready(function($) {
    var $shareWidgets = $( '.share-widget' );
    $shareWidgets.bind( 'scrollin', { distance: 500 }, function() {
        var $share = $( this );
        if (!$share.data( 'initFB' ) && window.FB) {
            $share.data('initFB', 1);
            $share.unbind( 'scrollin' );
            FB.XFBML.parse( $share[0] );
        }
    });
});

4。)将XFBML标签包装在名为“share-widget”的类中

<span class="share-widget"><fb:like></fb:like></span>
瞧,瞧!没有更多的XFBML减慢你的页面。当然,这只会在你的页面上有很多XFBML标签时有所帮助。大多数博客可能都有。

谢谢AOL!

使用jQuery查看AOL的SlideShare演示文稿:http://www.slideshare.net/daveartz/jquery-in-the-aol-enterprise他们会谈论这个以及他们使用的其他优化。

答案 1 :(得分:2)

Sharrre仅在需要时加载您的共享按钮,您可以使用所有类似按钮功能,并且内置Google Analytics跟踪功能。

答案 2 :(得分:0)

我也有这个问题。

这是社交网络的API错误。如果您在Chrome中查看NET标签,您会看到每页有252个请求! (Facebook,g +,Twitter,您的资源)

这是问题的一部分

loadScriptAsync('//connect.facebook.net/en_US/all.js');

它可以加载所有脚本,可能多次加载而不进行缓存。我认为没有机会在你身边避免这种情况

OT:为什么在登录您的网站时需要离线和短信访问?我认为没有人愿意给你他/她的电话号码和/或离线访问

答案 3 :(得分:0)

这是一个快速的纯JavaScript代码段,可以帮助限制多个类似的按钮:

https://stackoverflow.com/a/11002386/223002