Facebook身份验证效果很好。我可以拉出个人资料图片和用户名。但是,当您单击登录并且出现facebook提示时,我有两个问题(在IE和Chrome中)。
首先,窗口永远不会关闭。它只是一个空白的白页。这实际上发生在我的网络上。 turntable.fm登录以及我能想到的任何fb连接站点。它发生在我工作中,在家里在多台不同的PC上。 fb坏了吗?我不禁想到这与另一个问题有关......
关闭(空白)登录弹出窗口后,我的页面不会刷新。
所以这些都是问题。我尝试订阅auth.login事件并在那里调用reload(),这是文档推荐的内容,但是在登录时没有刷新。这也导致了一个问题,如果你注销它就会自动登录你回来了。这就是为什么我添加下面的代码来检测注销和重新加载。这确实有效。那么如何在弹出窗口关闭时重新加载,甚至更好,让弹出窗口关闭并重新加载我的页面?!
以下所有相关的fb代码(我认为):
window.fbAsyncInit = function () {
FB.init({
appId: '123456', // App ID
channelURL: 'http://www.mydomain.net/channel.html', // Channel File
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
oauth: true, // enable OAuth 2.0
xfbml: true // parse XFBML
});
//update guest/username if logged in or not
FB.getLoginStatus(function (response) {
if (response.authResponse) {
FB.api('/me', function (response) {
$('#UserMenu').show();
$('#Login').hide();
$('#fbpic').html('<img alt="Account Picture" src="https://graph.facebook.com/' + response.username + '/picture" />');
$('#AccountName').html(response.name);
getVentID(response.id, response.name);
$('#Logout').show();
});
} else {
//not logged in to facebook
}
});
$('#Logout').live('click', function () {
FB.logout(function (response) {
// user is now logged out
window.location.reload();
});
});
//subscribe to login changes
FB.Event.subscribe('auth.login', function (response) {
});
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
} (document));
答案 0 :(得分:0)
这是因为我在Chrome中“安装”了Facebook!卸载,现在无处不在。 SOOO开心!