Web 在iPhone上进行Facebook身份验证后,Safari不会重新打开页面
我正在开发一个响应性网站,要求用户通过Facebook认证。 我已经设置了FacebookJSSDK,以及登录和登录成功回调。我的设置在桌面上运行得很好,但在iPhone上(似乎在iPad上运行!)我有一个问题我还没有解决 点击登录按钮时,用户将进入一个新选项卡,要求用户登录。用户输入其凭据后,选项卡将关闭,但Safari不会重新打开我的页面。相反,Safari坐在“选项卡选择”屏幕上,突出显示我的页面。用户必须通过点击选项卡显式地重新打开我的页面。当点击该选项卡时,它似乎不会始终如一地触发authResponseChange 请注意,如果我确保iPhone上的Safari除了我的页面外没有打开任何选项卡,那么我会自动返回到它(正如Safari应用程序的设计所预期的那样),并且网站功能正常Web 在iPhone上进行Facebook身份验证后,Safari不会重新打开页面,web,facebook-javascript-sdk,mobile-safari,mobile-website,Web,Facebook Javascript Sdk,Mobile Safari,Mobile Website,我正在开发一个响应性网站,要求用户通过Facebook认证。 我已经设置了FacebookJSSDK,以及登录和登录成功回调。我的设置在桌面上运行得很好,但在iPhone上(似乎在iPad上运行!)我有一个问题我还没有解决 点击登录按钮时,用户将进入一个新选项卡,要求用户登录。用户输入其凭据后,选项卡将关闭,但Safari不会重新打开我的页面。相反,Safari坐在“选项卡选择”屏幕上,突出显示我的页面。用户必须通过点击选项卡显式地重新打开我的页面。当点击该选项卡时,它似乎不会始终如一地触发au
<div id="fb-root"></div>
<script>
$(document).ready(function() {
$.ajaxSetup({ cache: true });
$.getScript('//connect.facebook.net/en_US/all.js', function() {
FB.init({
appId : 'xxx',
xfbml : true,
status : true,
cookie : true
});
});
});
$("#login_button").bind("vclick", function() {
// Require explicit login
FB.Event.subscribe("auth.authResponseChange", function(response) {
if (response.status === "connected") {
// Perform API calls and display more of the page ...
// $.get("https://graph.facebook.com/me/friends?access_token=")
// FB.api("/me/friends", function(data) {});
}
});
FB.login(function(response) {}, {scope: 'email,friends_birthday,friends_hometown'});
});
</script>
$(文档).ready(函数(){
$.ajaxSetup({cache:true});
$.getScript('//connect.facebook.net/en_US/all.js',function(){
FB.init({
appId:'xxx',
xfbml:是的,
状态:正确,
曲奇:是的
});
});
});
$(“#登录按钮”).bind(“vclick”,function(){
//需要显式登录
FB.Event.subscribe(“auth.authResponseChange”,函数(响应){
如果(response.status==“已连接”){
//执行API调用并显示页面的更多内容。。。
//$.get(”https://graph.facebook.com/me/friends?access_token=")
//api(“/me/friends”,函数(数据){});
}
});
FB.login(函数(响应){},{scope:'电子邮件,朋友的生日,朋友的家乡'});
});
添加了一个注意事项,这似乎在iPad上运行良好。我在iPad上打开一些标签,然后登录,然后被带回我的页面。我还在另外两台iPhone设备上进行了尝试,它们的行为方式都是一样的——即,它们不会在验证后自动重新打开页面。