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