我正在使用FB.login(http://developers.facebook.com/docs/reference/javascript/FB.login/)。Safari上的javascript FB.login
FB.init({
appId:<id>,
cookie: true,
status:true,
xfbml: true
});
FB.api("/me", function(user) {
if (user==null || user.id==undefined) {
$('#left-menu .facebook-login').show();
} else {
THIS.user = user;
$('#left-menu .facebook-loggedin').show();
}
});
$('#left-menu .fblogin').click(function(){
FB.login(function(resp) {
if (resp.session) window.location.reload();
});
});
此代碼在Firefox和IE8中完美工作。當用戶登錄時,用戶對象在重新加載後被拾取。然而,這並不在Safari 5
在Safari工作,登錄後並重新加載,當我做FB.api(...)裏面的代碼調試,用戶對象說
消息:「必須使用活動訪問令牌來查詢有關當前用戶的信息。「 鍵入:「OAuthException」。
當我嘗試再次登錄按鈕時,調試控制檯顯示「FB.login()在用戶已連接時調用」。
此代碼純粹是客戶端。此登錄代碼沒有服務器端參與。
任何解決方法?
===================
已解決。當「xfbml:true」被刪除時,它在Safari上運行...不要問我爲什麼。
這不是重複的。我的登錄代碼純粹是客戶端。根本沒有服務器參與。 – real