JavaScript SDK事件不会触发

时间:2012-07-20 15:59:39

标签: javascript facebook events sdk

我正在使用JS SDK绑定到facebook。初始化后(FB.init()),我看到了Login按钮。点击后,它会提示我登录。然后,在我登录后,对话框就消失了,尽管我正在使用FB.Event.subscribe()为auth.login事件添加处理程序。

请注意,我使用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对话简直就消失了。如果我故意使用不正确的凭据来尝试登录,则对话框会正确拒绝该尝试,这证明该事实确实与Facebook通信。麻烦似乎是事件没有解雇。

感谢您提供任何指导。

1 个答案:

答案 0 :(得分: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/