登录窗口vs Facebook canvas应用中的灯箱



我有一个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'});
}

最新更新