FB.login callback not working on Opera Mobile browser
I am testing our 开发者_如何学JAVAweb application on OPera Mobile. We have a signIn through facebook link. It takes me to the login page, but after I enter my ID and password nothing happens. If I click on the login button mutliple times, it gives me too many failed attempts error. But after this my facebook account seems to be logged in.
If I login to facebook and come back to our application and click on login, nothing happens, I see a blank page. After I did Javascript debug, I could see that the FB.login() callback is not running at all.
Can any of you tell me what could be the reason?
Thanks, Yamini
Facebook Connect contains some browser sniffing (or "pseudo-browser-sniffing", detecting some features and making assumptions about what browser is used and what other features are available). They have functionality that uses HTML5's window.postMessage()
which ought to work just fine in latest Opera on both desktop and mobile, but due to the unfortunate sniffing approach they send Opera down another branch in their script. To be fair, this is for historical reasons, the postMessage() support was in flux for a while while HTML5 was shaping up and getting agreement on all details, so there are probably still some implementations (earlier Opera and IE versions?) that are still in use and would not work with Facebook Connect's JS.
Ideally, Facebook would fix this. I will follow up with Opera (to double-check that what I recommend Facebook should do will work on Opera Mobile) and Facebook (to try to get their browser detection adjusted).
精彩评论