Я свел свою страницу к самой простой вещи, и она все еще не работает в IE8.
Вот вся страница HTML:
В Firefox, сафари и хроме (на Mac), я получаю поведение, которое я ожидаю: если я не зарегистрирован в Facebook, я получаю диалоговое окно на загрузке страницы с пустой сессией. Когда я нажимаю кнопку Login и вхожу в систему, я получаю второе диалоговое окно с сессией. Если я зарегистрирован в Facebook, я получаю два диалоговых окна с сессиями: один от вызова getLoginStatus и другого от события.
В IE8 я не получаю диалоговых окон, когда я загружаю страницу. getLoginStatus обратный вызов не вызывается. Когда я нажимаю кнопку Login, я получаю диалоговое окно, но она имеет очень странную ошибку в нем:
Недействительный аргумент
Подключение Facebook междоменный URL получателя (http://static.ak.fbcdn.net/connect/xd_proxy.php#?=&cb=f3e91da434653f2&origin=http%3A%2F%2Fmysiteurl.com%2Ff210cba91f2a6d4&relation=opener&transport=flash&frame=f27aa957225164&result=xxRESULTTOKENxx) должно иметь URL Подключения приложения (http://mysiteurl.com/) как префикс. Можно настроить URL Подключения в Редакторе Параметров настройки приложения.
Я санировал URL Подключения выше, но это корректно.
Диалоговое окно действительно имеет поля имени пользователя/пароля. Если я вхожу в систему, диалоговое окно перенаправляется к моему URL Подключения, но нет никакого fb cookie, поэтому конечно, ничто не работает.
Что я делаю неправильно здесь?
Обновление (2010 10 сентября):
Эта проблема не универсальна. Мой URL сайта имеет номер порта в нем, потому что это - моя испытательная площадка: http://mysiteurl.com:12345. Без номера порта ie8, кажется, в порядке. С номером порта это продолжает перестать работать, как это сделало прежде. Однако сообщение об ошибке является теперь более кратким:
Недействительный аргумент
Учитывая URL не позволяется Конфигурацией приложения
Кроме того, эта проблема характерна для IE (на самом деле, я подозреваю, что это характерно для флэш-памяти транспорт XD, но я не знаю, как подтвердить это). Это хорошо работает на любой паре платформы/браузера, которую я попробовал.
Я все еще не ближе к созданию этой работы с URL с номером порта.
Они ДЕЙСТВИТЕЛЬНО должны это опубликовать. Но при работе на вашем локальном сервере на случайном порту, например 8080, вы ДОЛЖНЫ использовать 127.0.0.1, а НЕ localhost, иначе он не будет работать в IE. Также убедитесь, что ваш URL-адрес подключения в настройках приложения facebook установлен на 127.0.0.1