IE8 Win7 Facebook Connect Проблема - PullRequest
6 голосов
/ 03 апреля 2009

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


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

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

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

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

[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. Когда я ввожу свои учетные данные в окно FB javascript, страница загружает пустой документ URL этой страницы: http://localhost:55994/Connect/xd_receiver.htm?fb_login&fname=_opener&session=%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_xg8dX7TR7lLggew__%22%2C%22sig%22%3A%22ae12c0f98d4567612b70861314d42fbb%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-тег выглядит так:

Так что я знаю, что это не проблема.

Ответы [ 5 ]

7 голосов
/ 14 апреля 2009

У меня возникла та же проблема - убедитесь, что у вас есть настройка пространства имен HTML на главной странице:

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

http://forum.developers.facebook.com/viewtopic.php?id=23412

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

FB.Bootstrap.requireFeatures(["Connect"], function() 
{
    FB.init("--api-key--","domain/xd_receiver.htm");
    FB.Connect.ifUserConnected(your_function_here);
});
1 голос
/ 25 мая 2010

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

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

0 голосов
/ 21 июня 2011

Немного поздно, но это спасло мою шкуру !! Надеюсь, это поможет другим!

FB Connect пустое всплывающее окно войти в IE8, IE9 Решение:

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

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

FB.init ({ appId: «ID вашего приложения», статус: правда, cookie: правда, xfbml: true, channelUrl: "http://yourdomainname/fbtest/channel.html" // Добавить этот файл на ваш сайт.
});

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

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

См. http://forum.developers.facebook.net. .. для всей ветки форума.

0 голосов
/ 08 ноября 2010

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

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

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

Это работает для любой другой комбинации браузера / операционной системы.

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

0 голосов
/ 03 августа 2010

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

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

Мне также пришлось редактировать настройки моего приложения: Измените URL-адрес Connect на что-то вроде: 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...