JS SDK FB.login () диалоговое окно работ но всплывающего окна остается открытым после того, как вошел в систему

Я использую SDK JS для Facebook на основе НОВОГО GraphAPI для Автора/Входа в систему.

Имеет любого, имел эту проблему при входе в систему после FB.login() был назван через SDK JS?

Проблема: после того, как я инициализирую путем вызова FB.Init() асинхронно (потому что это все перенеслось в a window.fbAsyncInit функция), вход в систему открывается; я вхожу в систему, но затем что всплывающие обновления для показа белой страницы и всплывающего окна остаются открытыми и не закрываются... почему? Я ожидаю для регистрации response.session FB.login() обратный вызов, но кажется, как будто я никогда не возвращаю его, потому что это всплывающее окно, кажется, просто придерживается там, и процесс, кажется, просто останавливается после входа в систему, и я просто полагал, что это всплывающее окно просто закроет и возвратит меня 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}

Я действительно замечал, что, когда FB.login () называют и всплывающее окно входа в систему подходит, я вижу эту ошибку в FireBug, говорящем о том, как этому не нравится то, что я тестирую по localhost или чему-то, что я предполагаю:

неперехваченное исключение: [Исключение... "Component возвратил код неисправности: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.host]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" местоположение: "Кадр JS:: chrome://smarterwiki/content/smarterwiki.js:: анонимный:: данные" строки 1225 года: нет]

та ошибка беспокоит меня... Я должен выяснить, почему это подходит, и я поставил Вас, я не единственный, кто видел это при тестировании локально. Я не вижу информации хотя при поиске и устранении неисправностей этого в сети где угодно или на форумах Facebook или в другом месте. Я вижу, что у других есть эта проблема, но никакое разрешение.

Таким образом, при реализации Вашего Facebook раскрывался просто близко после того, как пользователь зарегистрирован, или необходимо ли было сделать что-то специальное для окончания этого процесса?

Кроме того, я замечаю, закрываюсь ли я вручную, то всплывающее окно затем переходят к проверке, если тот cookie был сгенерирован для содержания моей сессии, это не ( fbs_[yourappid] cookie). Таким образом, похоже, что что-то заканчивается преждевременно здесь. Я вошел в свой init cookie: верный так интересно, было ли этой проблемой всплывающее диалоговое окно, не закрывается, связан с cookie также не быть созданным клиентского на моем тесте ПК.

20
задан Jai Pandya 28 December 2011 в 10:05
поделиться

1 ответ

Я не знаю ваш код, но моя проблема заключалась в том, что я забыл добавить

. Мой код:

<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> 

Как видите, я нигде не использую div fb-root, но он необходим для работы входа в facebook!

2
ответ дан 30 November 2019 в 01:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: