Я пытаюсь создать оверлей, содержащий флэш-плеер, который отображается, когда пользователь нажимает на ссылку.Див, содержащий игрока, начинается с display:none
в CSS.После нажатия будет показан div, и JS будет использовать ExternalInterface для настройки и запуска проигрывателя.JS настраивает проигрыватель, когда он ловит событие «flash ready», которое запускается Flash на ADDED_TO_STAGE
.
Все это работает, за исключением того, что обратные вызовы ExternalInterface никогда не создаются.JS и AS3 работают нормально, если проигрыватель отображается при загрузке страницы или скрыт с visibility:hidden
вместо display:none
.Мне известно, , что Flash не будет инициализирован с display:none
, и это работает, как и ожидалось: когда Flash не отображается, он запускает свои события и корректно инициализирует все остальное (например, GUI, другие внутренние вещи),Единственное, что не происходит, как ожидалось, это то, что мои обратные вызовы ExternalInterface не добавляются.
ExternalInterface.available
верно.Это не проблема синхронизации, потому что даже через несколько минут обратных вызовов все еще нет.Самым странным является то, что флэш-память может вызывать JS, прекрасно запускает события JS, и код для запуска событий идет после кода для добавления обратных вызовов.Там нет ошибок, генерируемых любым из кода AS3.Я вижу эту проблему как в Chrome, так и в Firefox.
FWIW, я кодирую HTML-код для вставки напрямую, а не с помощью SWFObject, из-за некоторых необычных требований.
Кто-нибудь сталкивался с этимчто-то вроде проблемы с display:none
и ExternalInterface?
Спасибо!