Простой вызов FB.init
(прямо перед </body>
), а затем FB.getLoginStatus(callback)
не запускает функцию обратного вызова.
После некоторой отладки я думаю, что SDK застрял в фазе «загрузки» (т.е. FB.Auth._loadState == 'loading'
) и никогда не «загружается», поэтому все обратные вызовы ставятся в очередь до тех пор, пока SDK не загрузится. Если я принудительно запускаю "загруженное" событие во время отладки - с FB.Event.fire('FB.loginStatus', 'loaded')
на случай, если вам интересно, - тогда обратные вызовы вызываются правильно.
Дополнительные детали, которые могут иметь значение:
- Мое приложение представляет собой приложение facebook iframe (загружается через apps.facebook.com/myapp)
- Я использую IE9. То же самое происходит в Chrome
- Приложение размещено на http://localhost.
Что происходит? Почему SDK никогда не загружается?
Спасибо
ОБНОВЛЕНИЕ: только что попробовал в Chrome, и все заработало (не знаю, почему раньше не работало). Все еще не работает в IE