Pos*_*Guy 20 facebook facebook-javascript-sdk
我正在使用JS SDK for Facebook基于新的GraphAPI for Auth/Login.
在FB.login()通过JS SDK调用后登录时有没有人遇到此问题?
问题:在我通过FB.Init()异步调用初始化之后(因为这都包含在一个window.fbAsyncInit函数中),登录弹出; 我登录但是弹出窗口刷新显示白页,弹出窗口保持打开状态并且不关闭...为什么?我正在等待检查FB.login()回调中的response.session,但似乎我从来没有收回它,因为这个弹出窗口似乎只是坚持在那里,并且在你登录后这个过程似乎停止了我只是认为这个流行音乐-up会关闭并自动返回回调中的response.session.为什么弹出窗口不会消失?
我登录后复制了弹出窗口中的url并显示白色以下url所以看起来响应就在那里但是为什么弹出窗口没有关闭所以我的回调可以处理响应?
http://static.ak.fbcdn.net/connect/xd_proxy.php#?=&cb=f18fe0b7c66da54&origin=http%3A%2F%2Flocalhost%2Ff3745f32ed63a7a&relation=opener&transport=postmessage&frame=f18adb488566372&result=user_photos&session={%22session_key%22%3A%222.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246%22%2C%22uid%22%3A%22100001379631246%22%2C%22expires%22%3A1280106000%2C%22secret%22%3A%22TH45WFg8I_5r_cOoVIujjg__%22%2C%22access_token%22%3A%22132444323462464|2.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246|q123iPQcKY45xWXtOZ2ebOOZTQQ.%22%2C%22sig%22%3A%22a75e85af2354292bfdcf90b9d319ebf7%22}
Run Code Online (Sandbox Code Playgroud)
我注意到当FB.login()被调用并且登录弹出窗口出现时,我在FireBug中看到这个错误,它在讨论它是如何不喜欢我正在测试localhost或我想的事实:
未捕获异常:[例外..."组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsIDOMLocation.host]"nsresult:"0x80004005(NS_ERROR_FAILURE)"位置:"JS frame :: chrome://smarterwiki/content/smarterwiki.js :: anonymous :: line 1225"data:no]
这个错误困扰着我...我需要弄清楚它为什么会出现,我敢打赌,我不是唯一一个在本地测试时见过这个的人.我在Facebook论坛或其他地方的任何地方都没有看到关于网络故障排除的信息.我看到其他人有这个问题,但没有解决方案.
因此,当您实施自己的Facebook时,在用户登录后,您的Facebook弹出窗口是否刚刚关闭,或者您是否需要执行一些特殊操作才能完成此过程?
此外,我注意到如果我手动关闭该弹出窗口然后去检查是否生成了包含我的会话的fbs_[yourappid]cookie ,它不是(cookie).所以看起来这里的某些事情过早结束了.我已经进入了我的init cookie:是的,所以我想知道这个问题是否是弹出对话框没有关闭也与我的测试PC上没有在客户端创建的cookie有关.
我不知道你的代码是什么,但我的问题是我忘记添加
<div id="fb-root"></div>. 我的代码:
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
FB.init({ apiKey: 'app key'});
</script>
<div class="fbloginbutton" id="fb-login" onclick="Login();">
<span id="fb_login_text" >Login with Facebook</span>
</div>
<asp:Label ID="errMsg" runat="server"></asp:Label>
<script type="text/javascript">
function Login() {
FB.login(function(response) {
document.getElementById('fb_login_text').innerHTML = 'Logout';
if (response.session) {
FB.api('/me', function(response) {
var str;
str = response['id'] + ";" +
response['name'] + ";" +
response['first_name'] + ";" +
response['last_name'] + ";" +
response['link'] + ";" +
response['birthday'] + ";" +
response['gender'] + ";" +
response['email'];
alert(str);
});
}
else {
document.getElementById('fb_login_text').innerHTML = 'Login with Facebook';
}
}, { perms: 'user_birthday,email' });
};
</script>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我不在任何地方使用 div fb-root,但它是 facebook 登录工作所必需的!
| 归档时间: |
|
| 查看次数: |
20701 次 |
| 最近记录: |