我正在使用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