以下 FB.Login 函数在桌面 Chrome、FF 和 Safari 中运行良好。但在移动 Safari(在 iPhone 4S 上测试)中,它挂起并且不返回 FB.login 回调。当我使用 Safari 并将用户代理设置为“Safari iOS 4.3.3 - iPhone”时,我也可以在控制台中看到这一点。
是因为移动 Safari 会阻止弹出窗口吗?(FB.login 触发弹出对话框)。
我该如何解决?谢谢。
function Login(returnLink) {
FB.login(function(response) {
if(response.status === 'connected') {
console.log('User is now FB logged in.');
// now log them into my site
encodedReturnLink = encodeURIComponent(returnLink);
window.location = location.protocol + '//' + location.host + "/login?returnUrl=" + encodedReturnLink;
}
else {
console.log('User did not fully authorize after clicking FB login button.');
}
},
{scope : 'email, publish_actions, publish_stream'}
);
}