FB.登录弹出式移动网页登录后不会自动关闭



我有一个Facebook连接网站,在移动浏览器(如iPhone Safari等)上的Facebook登录部分有问题。每当我点击登录按钮时,它都会在Safari中打开一个新的选项卡,将我带到如下URL:https://s-static.ak.fbcdn.net/connect/xd_proxy.php...然后是一堆额外的散列。

问题是,此页面不会自动关闭并返回到我的应用程序。我必须手动关闭它,然后返回。登录过程运行良好,其他页面已经刷新并加载,但我不明白为什么它没有自动关闭XD代理页面。

我已经学习了Facebook上所有关于设置javascript代码的教程。我使用FB.login()进行实际登录。它在桌面上完美工作。我想知道这是否是Facebook javascript中的一个错误,但我似乎无法弄清楚。任何想法都会很有帮助。

以下是我正在使用的代码,供参考:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId: "APP_ID",
      status: true, 
      cookie: true,
      oauth: true,
      xfbml: true
    });
  };
  (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>
<button onclick="loginToFB();" type="button" class="fb-login-button">Login with Facebook</button>
<script type="text/javascript">
  function loginToFB(next) {
    FB.login(function(response) {
      if (response.authResponse) {
         window.location = '/facebook';
      }
    }, {scope: 'SCOPE_STRING'});
  }
 </script>

谢谢!

尝试首先调用getLoginStats()函数,如果用户已经登录,则不要执行FB.login()

最新更新