Аутентификация Facebook работает отлично. Я могу вытащить аватарку и имя пользователя. Тем не менее, когда вы нажимаете кнопку «Войти» и появляется приглашение «Фейсбук», у меня возникают две проблемы (как в IE, так и в Chrome).
Во-первых, окно никогда не закрывается. Это просто идет на пустую белую страницу. Это на самом деле происходит со мной в Интернете. Логины turntable.fm делают это так же, как и любые сайты, связанные с 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));