我在网站上有一个Facebook应用程序,它通过javascript sdk(FB.login())打开标准登录弹出窗口。代码非常简单和标准:
<script>
window.fbAsyncInit = function() {
window.tryInit = window.setInterval(function() {
if (typeof FB !== 'undefined') {
console.log('FB loaded');
window.clearInterval(window.tryInit);
FB.init({
appId: ...,
channelUrl: ...,
status: true,
cookie: true,
xfbml: true
});
} else {
console.log('FB not loaded yet');
}
}, 100);
}
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(function($) {
$('a#login').click(function() {
FB.login(function(response) {
alert("OK");
});
});
});
当我尝试在带有Chrome浏览器的iPad 2上使用登录功能时,它会打开一个新选项卡,尝试连接到Facebook网址(m.facebook.com/dialog/oauth ...),但是这个结果是空白页,也许是在发生某种错误之后。相同的链接可以与Safari浏览器以及台式机和智能手机在同一平板电脑上正常工作。
还有其他人遇到过同样的问题吗?有什么建议吗?
谢谢你们!
编辑:同样的问题发生在使用Chrome的iphone4上,但不适用于Safari。