2012-05-17 76 views
0

我正在嘗試將Facebook集成到我的網頁,以便用戶可以從我的網站更新他們的狀態。現在我有一個用戶點擊來更新其狀態的按鈕,該按鈕調用updateFacebookStatus()函數。當這個按鈕被點擊時,一個空白的白色窗口彈出「等待www.facebook.com」。這個窗口是它應該要求許可的地方,但窗口只是超時。任何想法:這是我的函數updateFacebookStatus()的代碼。Facebook集成到網頁

function updateFacebookStatus() 
    { 

//Ask for permissions 
    FB.login(function(response) 
    { 

    }, {scope:'publish_stream, offline_access,manage_pages'}); 

    FB.getLoginStatus(function(response) 
    { 

//If user is logged it and given permissions update status 
     if (response.status === 'connected') 
     { 

     new_status = document.getElementById('FacebookBody').value; 

     //update status 
     FB.api(
     { 
      method: 'status.set', 
      status: new_status 
     }, 
     function(response) 
     { 
      if(response == 0) 
      { 
       alert("Your Facebook Status Was Not Updated."); 
      } 
      else 
      { 
       alert("Your Facebook Status Was Updated"); 
      } 
     } 

    );} 
     else 
     { 
     window.location.href = "#home"; 
     } 
    }); 
    } 

在我的HTML文件,我得到了Facebook的使用下面的代碼的JavaScript SDK:

 <script src="http://connect.facebook.net/en_US/all.js"></script> 
     <script> 
       FB.init({ 
       appId : 'XXXXXXXXXXXXX', 
       status : true, // check login status 
       cookie : true, // enable cookies to allow the server to access the session 
       xfbml : true, // parse XFBML 
       channelUrl : 'http://www.XXXXX.com/channel.html', // channel.html file 
       oauth : true // enable OAuth 2.0 
       }); 

       // 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> 
+0

代碼對方似乎粘在 「的FB.login(功能(響應)」行獲得。 – ewein

回答

0

不知道是否有任何與你的問題,但請注意,您調用相同的腳本兩次 - 通過<script src="http://connect.facebook.net/en_US/all.js"></script>標籤一次並通過異步函數調用下// Load the SDK Asynchronously

+0

雅,我知道,它的怪異,但唯一的窗口彈出up wh我有兩個。 – ewein