在iPhone上进行Facebook身份验证后,Safari不会重新打开页面

时间:2013-07-28 10:06:32

标签: web facebook-javascript-sdk mobile-safari mobile-website

我正在开发一个响应式网站,要求用户通过Facebook进行身份验证。 我已经设置了Facebook JS SDK,以及登录和登录成功回调。我在桌面上的设置非常好,但在iPhone上(似乎可以在iPad上运行!)我有一个问题我还没有解决。

点击“登录”按钮时,用户将被带到一个新选项卡,要求用户登录。用户输入他/她的凭据后,该选项卡将关闭,但Safari不会重新打开我的页面。相反,Safari位于“选项卡选择”屏幕,并突出显示我的页面。用户必须通过点击标签明确重新打开我的页面。点击标签时,它似乎不会始终激发 authResponseChange

请注意,如果我确保iPhone上的Safari除了我的页面之外没有打​​开标签,那么我会自动回到它(正如Safari应用程序的设计所预期的那样)并且网站正常运行。

<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>

0 个答案:

没有答案