我们有一段这样的代码:
checkStatus: function() {
var self = this;
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
self.isPage = false;
dojo.publish('fb/loginStatus/connected', response.authResponse);
if (self.UserRecord === null) {
self.buildAll(response.authResponse);
} else if (self.UserRecord.user_fid !== response.authResponse.userID){
self.clearAll();
setTimeout(function(){ self.buildAll(); }, 100);
}
} else {
if (response.status === 'not_authorized') {
dojo.publish('fb/loginStatus/logged', response);
} else {
dojo.publish('fb/loginStatus/notLogged', response);
}
}
},true);
},一切正常,直到用户进入我们的应用程序登录为facebook页面,Fb.getLoginStatus不会启动它的回调。
我的问题是,如何在应用程序中检测或执行其他操作来处理这种情况?
干杯,保罗
发布于 2012-04-26 21:21:42
我打赌这肯定是个窃听器。去年,当用户处于沙盒模式时,FB.getLoginStatus也出现了类似的问题。无论如何,您可以使用以下命令让用户切换回其普通用户:
FB.login(function(response) {
// response handler
});它将显示一个提示“您正在以不同的用户身份使用Facebook”,并要求您切换回标准用户。
另一种选择是在特定的超时后显示一个facebook社交小部件(例如,like按钮)。它没有显示like按钮,而是提供了一个链接,上面写着“切换回普通用户以使用此社交小部件”。
希望这些建议能有所帮助。
https://stackoverflow.com/questions/10312395
复制相似问题