我有一个 Facebook 画布应用程序,它FB.getAuthResponse()
首先调用,如有必要,FB.login()
. JS SDK的文档清楚地指出FB.login()
打开一个登录弹出窗口,当我直接点击画布URL时这是正确的。但是,当我在画布页面中以匿名用户身份执行相同操作时,会出现“未登录”灯箱并重定向到登录页面。
有没有办法统一这种行为(最好总是使用弹出窗口)?
我有一个 Facebook 画布应用程序,它FB.getAuthResponse()
首先调用,如有必要,FB.login()
. JS SDK的文档清楚地指出FB.login()
打开一个登录弹出窗口,当我直接点击画布URL时这是正确的。但是,当我在画布页面中以匿名用户身份执行相同操作时,会出现“未登录”灯箱并重定向到登录页面。
有没有办法统一这种行为(最好总是使用弹出窗口)?
事实证明,在使用 JS SDK 时可以显式指定登录窗口的“格式” -FB.login()
接受display
定义窗口显示模式的参数。
最终代码如下所示:
var authResponse = FB.getAuthResponse();
if (authResponse && authResponse.signedRequest) {
addFieldsAndSubmit(authResponse.signedRequest);
} else {
FB.login(function(response) {
if (response && response.authResponse) {
addFieldsAndSubmit(response.authResponse.signedRequest);
}
}, {scope:'email', display: 'popup'});
}