IE8 Win7 Проблема с подключением к Facebook

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


Я просмотрел много сообщений, чтобы увидеть, было ли это опубликовано раньше, и это не так. Вот краткая версия:

Я просматриваю образец учебника FB Connect (v1) и не могу заставить его работать в IE8 на Win7. Он работает, как и ожидалось, на FF3 на Win7.

Длинная версия:

Я был удивлен, что ничего не работает, так как я в значительной степени скопировал и вставил контент. Я пропустил часть с вызовом javascript alert(), поэтому я вставил его, чтобы увидеть, доберется ли парсер до этого. Я вставил следующий код:

[my raw html]
Or use, <fb:login-button length="long" onlogin="alert('yo!!!');"></fb:login-button>
[/my raw html]

Оповещение не появляется в IE8. На ФФ работает.

Когда я возвращаюсь к вызову update_user_box(), мой HTML выглядит так:

Or use, <fb:login-button length="long" onlogin="update_user_box();"></fb:login-button>

<script type="text/javascript">
    function update_user_box() {
        var user_box = document.getElementById("user");
        user_box.innerHTML =
            "<span>"
            + "<fb:profile-pic uid='loggedinuser' facebook-logo='true'></fb:profile_pic>"
            + "Welcome, <fb:name uid='loggedinuser' useyou='false'></fb:name>."
            + "You are signed in."
            + "</span>"

        FB.XFBML.Host.parseDomTree();
    }

    FB.init("23e24c73feed7ca0f6afd876575842de", "../../Connect/xd_receiver.htm", { "ifUserConnected": update_user_box });
</script>

Опять же, это прекрасно работает в FF3. Появляется моя картинка и все. На самом деле меня больше расстраивает то, что это работало в FF3, чем полное отсутствие работы.

Вот наблюдаемое поведение в IE8:

  1. Когда я нажимаю кнопку FBConnect. окно javascript всплывает и загружает правильную страницу входа в систему

  2. Фокус возвращается к главному окну (тому, что с моим приложением)

  3. В главном окне IE8 (в котором я нажал кнопку подключения) теперь отображается страница входа в Facebook.

  4. Когда я ввожу свои учетные данные в окно javascript FB, страница загружает пустой URL-адрес документа этой страницы: HTTP: // локальный:. 55994 / Connect / xd_receiver.htm fb_login & имя_файла = _opener & сессия =% 7B% 22session_key% 22% 3A% 223.A4DpHk4nrKHooB7K_Q6EiA __ 86400.1238796000- 623225% 22% 2c% 22UID% 22% 3A% 22623225% 22% 2C% 22Expires% 22% 3A1238796000% 2C% 22Secret% 22% 3A% 22HTJTJS_XG8DX7TR7LLGGES __% 22% 2C% 22SIG% 22% 3A% 22AE12C0F98D4567612B70861314D42FBBB% 22% 7D < /а>

Просмотр исходного кода этой страницы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
</body>
</html>

5. Если я закрою это окно и введу свои учетные данные в окно приложения, страница перезагрузится с помощью кнопки FBConnect.

Как я уже сказал, я получаю ожидаемое поведение в FF3, но не в IE8. Я даже попробовал режим совместимости IE8, но это тоже не сработало. Кто-нибудь знает, что происходит?

Мой HTML-тег выглядит так:

So I know that's not the issue.


person Brandon Watson    schedule 03.04.2009    source источник
comment
Какая сборка Win7? Если это сборка 7000, то с ней была довольно древняя версия IE8, так что вполне может быть хорошо в финальной версии IE8.   -  person Steven Robbins    schedule 03.04.2009
comment
Я использую сборку 7068. Я не пробовал IE7 или 8 в Vista. Я полагаю, мне тоже следует попробовать это, но я работаю локально на своей машине разработки.   -  person Brandon Watson    schedule 03.04.2009
comment
Что касается наград: stackoverflow.com/faq#bounty   -  person Dan Atkinson    schedule 22.11.2009


Ответы (5)



IE8 и Facebook Connect Simple.

На моем сайте Facebook Connect я разрабатываю виджеты Facebook, которые просто не загружаются

Конечно, у вас должен быть включен Javascript в IE8 (много другой информации по этому поводу), в чем я убедился.

Все еще не идет.

Тогда пост Даррента Ньютона выше....

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">

Делает трюк! Спасибо, Даррен.

person Kevin Crump    schedule 25.05.2010

У меня очень похожая проблема. В IE7-8 Win7 я получаю сообщение «Страница не может быть отображена». Всплывающее окно пустое.

В Fiddler он не будет передавать безопасный вызов CONNECT (хост).

Я использую Facebook Javascript SDK API с API.ui/stream.Publish. Я установил 2 приложения. Один для французского домена, один для английского домена. Английский домен отвечает правильно, французский нет. Оба URL-адреса подключения / базовые домены были установлены правильно.

Это работает в любой другой комбинации браузера/ОС.

Я пробовал fb xmlns, безрезультатно.

person maxbeaudoin    schedule 08.11.2010

Немного поздно, но это СПАСЛО мою шкуру!! Надеюсь, это поможет другим!

FB Connect отображает пустое всплывающее окно при входе в IE8, IE9. Решение:

Использовать URL пользовательского канала

1.Добавить параметр channelUrl в сеанс FB.init.

FB.init({ appId : 'ID ВАШЕГО ПРИЛОЖЕНИЯ', status : true, cookie : true, xfbml : true, channelUrl: "http://yourdomainname/fbtest/channel.html" //Добавьте этот файл на свой веб-сайт.< бр> });

2. Содержимое файла channel.html должно состоять из одной строки:

3. Проверьте свой вход в FB... Наслаждайтесь...

См. http://forum.developers.facebook.net/viewtopic.php?pid=353827 для полной ветки форума.

person used2could    schedule 21.06.2011

У меня были некоторые проблемы с подключением Facebook к работе с новыми методами аутентификации Javascript SDK - он отлично работал в Chrome и FF, но не в IE8.0.

Немного повозившись, я обнаружил, что нужен <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">.

Мне также пришлось изменить настройки моего приложения: изменить URL-адрес подключения на что-то вроде: http://XXX.example.com.org:8006/XXXX/ и измените базовый домен на что-то вроде: example.com

Примечание. При тестировании на локальном компьютере настройка базового домена на IP-адрес не сработала. Метод рендеринга: iframe

Javascript для справки:

<script src="http://connect.facebook.net/en_US/all.js"></script>

<script>

  FB.init({appId: '{{facebook_app_id}}', status: true, cookie: true, xfbml: true});
  FB.Event.subscribe('auth.sessionChange', function(response) {
    if (response.session) {
      // A user has logged in, and a new cookie has been saved
        window.location.reload();
    } else {
        // The user has logged out, and the cookie has been cleared
    }
  });

</script>
person Eamonn Gahan    schedule 03.08.2010