我正在尝试使用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天了,并坚持到底。某人的解决方案真的很值得赞赏。
答案 0 :(得分:0)
好吧,找到了替代品。使用php SDK。但起初它仍然加载了另一个标签。但是在使用时:
<a onclick="top.location.href='[facebook login url]'">login</a>
确实有效。它实际上在同一个应用程序中的同一窗口中打开。您需要执行此操作,因为您无法将目标更改为target = _self
玩得开心!