Обновление 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:
Когда я нажимаю кнопку FBConnect. окно javascript всплывает и загружает нужную страницу входа в систему
Фокус переключается обратно в главное окно (окно с моим приложением)
В главном окне IE8 (в котором я нажал кнопку подключения) теперь отображается страница входа в Facebook.
Когда я ввожу свои учетные данные в окно 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-тег выглядит так:
Так что я знаю, что это не проблема.