2012-07-20 80 views
0

我正在使用JS SDK綁定到Facebook。初始化後(FB.init()),我看到登錄按鈕。點擊它後,它會提示我登錄。然後,在我登錄後,對話框就會消失,儘管我正在使用FB.Event.subscribe()向auth.login事件添加處理程序。JavaScript SDK事件不會觸發

請注意,我在此代碼之前處理的html中使用了一個標記,其中包含Facebook all.js文件。

這裏是我的代碼:

FB.init({ 

          appId:myId, 
          channelUrl:myChannelUrl, 
          cookie:true, 
          status:true, 
          xfbml:true 
        }); 
      FB.Event.subscribe('auth.login',function(response) { 
          alert("your event finally fired!!!"); 
      }); 
      FB.Event.subscribe('auth.logout',function(){ 
        alert("you logged out"); 
      }); 

現在,當我登錄或註銷,沒有任何反應。臉書對話簡單地消失。如果我故意使用不正確的憑證嘗試登錄,對話框會正確拒絕嘗試,這證明事情確實與Facebook通信。麻煩似乎是事件沒有解除。

感謝您在這裏的任何指導。

回答

1

改爲訂閱此活動。

FB.Event.subscribe('auth.statusChange', handleStatusChange);  

,並在你的JavaScript,

function handleStatusChange(response) { 
if(response.authResponse == 'connected') 
//do something 
else 
//do something else 
} 

編號:http://www.facebookmobileweb.com/hello/

+0

謝謝黑暗。但它仍然不起作用。有沒有辦法在Facebook上實時查看某種錯誤控制檯?所以我可以看到他們看到了什麼? – 2012-07-20 16:49:00

+0

最有可能的是,這不是Facebook的問題。看到我在參考下給出的例子。該JavaScript的作品,它使用我概述的'auth.statusChange'。 – 2012-07-20 17:29:02

+0

回答了這個問題(我明白了)。然而,Stack不會讓我回答自己的問題(沒有足夠的聲望?)。 – 2012-07-20 20:36:25