FB.Login无法在Opera Mobile中使用

时间:2012-09-18 09:28:28

标签: facebook opera

我有一个使用Facebook Connect的移动网站来验证用户身份。我在使用Opera Mobile时遇到了问题。我在javascript下面检测登录状态,但只有在Opera Mobile中才会触发回调。有人遇到过这个问题吗?

window.fbAsyncInit = function () {
        FB.init({
            appId: 'xxxx',
            channelUrl: 'http://xxxx/channel.html',
            status: true,
            cookie: true,
            xfbml: true
        });

        FB.Event.subscribe('auth.statusChange', handleStatusChange);
    };

function handleStatusChange(response) { // --> NOT FIRE
    if (response.authResponse) {
        //Login, show Logout button
    }
    else {
        //Show Login button

    }
}

2 个答案:

答案 0 :(得分:0)

请确保按逻辑顺序放置JS标记和其他必需的HTML(如果使用fb-root元素将脚本放在其后,如果它们当前在HEAD中,请尝试将它们放入BODY中)。我已经看到FB登录失败,因为标签的顺序错误,并且因为某些浏览器进行“推测性解析”,这种随机跨浏览器故障的原因可能不会立即显现出来。 (此外,如果网络出现打嗝并且加载内容的时间是意外的话,你会创建一个可能在任何浏览器中中断的竞争条件。)

如果您仍有问题,请查看链接或演示。我们测试了一个使用FB Connect的随机页面并且工作正常。除了标签订单问题,我无法猜出这里可能出现的问题。

答案 1 :(得分:0)

Opera Mobile今天发布了新版本(12.10.ADR-1210081231)。它解决了Facebook登录问题,但存在一个小问题。用户登录后,Facebook窗口不会自动关闭。