2013-01-24 22 views
0

我正尝试用jqtouch与facebook登录名创建一个漂亮的web应用程序。得到它的工作到一个点。但是,当将应用程序拉到iPhone的主屏幕(无窗口观看,jqt)并验证/登录到FB时,它会显示带有正确FB链接的白页。它提供了一个适当的链接(就像我在寻找答案的每个地方一样),但是我找到并尝试的修复方法都没有工作。当使用JQTouch在无窗口iPhone模式下进行FB认证时的白页

使用浏览器时不会发生此问题。 FB弹出窗口正确关闭。当使用Safari浏览器时,浏览器将打开另一个选项卡,显示白色,关闭它并移回浏览器中的原始选项卡。它不会打开标签。它只是在那里等待我的遗憾屁股再次点击它并激活标签。当重新加载它时,它已经登录。所以这个动作起作用了,但是返回页面却没有。在无框模式下(jqt),它不会打开额外的选项卡。它只是用白页覆盖我的页面,并没有关闭它。我没有得到JS的萤火虫错误。

我做的代码为基础,我可以同时产生的问题:

<!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天左右,现在,要适当的坚果。真的会很感激某种解决方案。

回答

0

那么,找到了替代方案。使用php SDK。但起初它还是加载了另一个标签。但使用时:

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

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

玩得开心!