Facebook分享连接js非常慢

时间:2013-11-28 18:59:27

标签: javascript facebook facebook-javascript-sdk

我正在使用此代码段:

function loadFacebook()
{
    var app_id = $('meta[property="fb:app_id"]').attr("content");
    $.ajax( {
        type: 'GET',
        url: '//connect.facebook.net/it_IT/all.js',
        timeout: 2000,
        dataType: 'script',
        cache: true,
        success:
            function() {
                FB.init({ appId: app_id, status: true, cookie: true, xfbml: true });
            }
        });
    var pathname = $(location).attr('href');
    $('#facebook-sharing').append('<div class="fb-share-button" data-href="'+pathname+'" data-width="140" data-type="button_count"></div>');
}

似乎没有缓存,页面加载非常非常慢。我看到的其他网站似乎没有这个问题。

我知道还有其他类似问题,但似乎没有什么可以解决我的麻烦。谢谢。

1 个答案:

答案 0 :(得分:1)

尝试使用getScript()方法。 getScript()方法是异步的,因此您将传递一个匿名回调函数,您可以照常执行SDK初始化代码。

$(document).ready(function() {
  $.ajaxSetup({ cache: true });
  $.getScript('//connect.facebook.net/en_UK/all.js', function(){
    FB.init({
      appId: 'YOUR_APP_ID',
    });     
    $('#loginbutton,#feedbutton').removeAttr('disabled');
    FB.getLoginStatus(updateStatusCallback);
  });
});

来源:Facebook SDK for JavaScript with jQuery