2012-09-18 38 views
0

我有一个使用Facebook Connect的移动网站来验证用户身份。 Opera Mobile遇到了问题登录问题。我有下面的JavaScript来检测登录状态,但只有在Opera Mobile中,回调不会触发。有没有人遇到过这个问题?FB.Login不能在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 

    } 
} 

回答

0

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

0

请确保你把JS标签和其他所需的HTML逻辑顺序(如果您使用的FB-根元素把脚本后,尽量把他们体内,如果他们目前在HEAD) 。我见过FB登录失败,因为标签顺序错误,并且由于一些浏览器做了“推测性解析”,导致随机跨浏览器故障的原因可能不会立即显现。 (此外,如果网络出现呃逆,并且加载内容的时间是意外的,那么您可能会在任何浏览器中创建竞争条件。)

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

+0

谢谢。我将尝试按照您所提到的顺序重新安排订单。 – kevin

+0

嗨hallvors,我试过你的建议,但没有运气。 Facebook官方样本也出现这种情况。它将无法使用Opera移动设备登录。 www.facebookmobileweb.com/hackbook/ – kevin

+0

我们将尝试调查此问题。 – hallvors