在Facebook画布应用程序中登录弹出窗口与灯箱

时间:2013-04-14 12:15:41

标签: facebook facebook-javascript-sdk facebook-canvas

我有一个Facebook画布应用,首先调用FB.getAuthResponse(),如有必要,调用FB.login()。 JS SDK的文档明确指出FB.login()打开一个登录弹出窗口,当我直接点击画布URL时这是正确的。但是,当我在画布页面中作为匿名用户执行相同操作时,会出现“未登录”灯箱并重定向到登录页面。

有没有办法统一这种行为(最好总是使用弹出窗口)?

1 个答案:

答案 0 :(得分:1)

当使用JS SDK - FB.login() accepts the display parameter定义窗口的显示模式时,可以明确指定登录窗口的“格式”。

最终代码如下:

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'});
}