2011-01-03 18 views
4

私はFacebookのJavascript SDKを使用してログイン/ログアウトを許可していますが、window.fbAsyncInit呼び出しを使用してFBセッションを開始すると、常に2回発生します。私は単純化されたコードサンプルを含んでいます。私は助けていただければ幸いです!Facebook fbAsyncInitを2回実行する

以下のコードでは、 "2"アラートが1回発生し、 "1"アラートが2回発生します。

<html><head> 
<script type="text/javascript"> 
...some of my own functions, not related to Facebook... 
</script> 
</head> 
<body> 

<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId : '<?php echo FACEBOOK_APPID; ?>', 
     session : <?php echo json_encode($session); ?>, status:false, cookie:true, xfbml: true 
    }); 

    alert("1"); 

    FB.getLoginStatus(function(response) { 
     if(response.session) { ...do stuff... } else { ...do other stuff...} 
    }); 

}; 

alert("2"); 

(function() { 
    var e = document.createElement('script'); 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

</script> 
...page contents... 
</body></html> 
+0

Facebookの2種類のJavaScriptを含まないのは本当ですか? –

答えて

5

誤って2つのFacebookのJavaScriptを含むことがあります。

+0

わからないが、thsiが問題だった。私はしばらく前にそれをキャッチしたが、ありがとう! – JoelD