使用JQTouch在无窗口iPhone模式下进行FB身份验证时的白页

时间:2013-01-24 21:36:02

标签: jquery oauth-2.0 jqtouch fbjs

我正在尝试使用jqtouch和facebook登录来构建一个不错的网络应用程序。让它达到一定程度。但是当将应用程序拉到iPhone的主屏幕(无窗口查看,jqt)并验证/登录到FB时,它会给出一个带有正确FB链接的白页。它提供了一个适当的链接(就像我寻找答案的所有地方),但没有找到我尝试过的修复工作。

使用浏览器时不会发生此问题。 FB弹出窗口正常关闭。使用safari mobile时,浏览器会打开另一个选项卡,显示白色,关闭它并移回浏览器中的原始选项卡。它虽然没有打开标签。它只是坐在那里等待我的抱歉屁股再次点击它并激活选项卡。重新加载时,它已登录。因此操作有效,但返回页面却没有。在无帧模式(jqt)中,它不会打开额外的选项卡。它只是用白页覆盖我的页面而不关闭它。我没有得到JS的firebug错误。

我在制作问题时尽可能地使代码成为基本代码:

<!doctype html>
<html xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Facebook Login Page</title>
    <script type="text/javascript" src="[my domain]/modules/js/jquery-1.8.3.min.js"></script>
    <script src="[my domain]/modules/jqtouch-1.0-b4-rc/src/jqtouch-jquery.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="[my domain]/modules/jqtouch-1.0-b4-rc/src/jqtouch.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" charset="utf-8">
    // JQT
    var jQT = new $.jQTouch({
        //icon: "jqtouch.png", // Will show an "app" picture now
        addGlossToIcon: false,
        //startupScreen: "jqt_startup.png", // No startup pic
        statusBar: "white",
    });
    </script>

  </head>
  <body>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
       FB.init({ 
          appId:'[my app id]', cookie:true, 
          status:true, xfbml:true 
       });
    </script>

    <div id="jqt">
        <div id="main" class="current">
            <fb:login-button>Login with Facebook</fb:login-button>
            Random text to have something on the screen
        </div>
    </div>
  </body>
</html>

我已经在这里待了大约5天了,并坚持到底。某人的解决方案真的很值得赞赏。

1 个答案:

答案 0 :(得分:0)

好吧,找到了替代品。使用php SDK。但起初它仍然加载了另一个标签。但是在使用时:

<a onclick="top.location.href='[facebook login url]'">login</a>

确实有效。它实际上在同一个应用程序中的同一窗口中打开。您需要执行此操作,因为您无法将目标更改为target = _self

玩得开心!