它只是挂起铬一段时间,而所有按钮都加载。我已经阅读过使用IFrame避免这种情况,但我真的想使用XFBML JS来获得所有额外的功能,比如跟踪喜欢,评论和发送按钮。
有没有人有解决方案? 我确定我不是唯一一个有10个以上Like按钮的网站。
答案 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代码段,可以帮助限制多个类似的按钮: