Страница авторизации Facebook не закрывает или не обновляет родительский - PullRequest
0 голосов
/ 21 октября 2011

Аутентификация 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));

1 Ответ

0 голосов
/ 22 декабря 2011

Это потому, что у меня Facebook установлен в Chrome! Удалите и теперь это работает везде. Ооо счастлив!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...