У меня есть Flash-фильм, в котором есть несколько функций ActionScript 2, которые отображаются в Javascript через ExternalInterface. Обычно этот фильм работает нормально, и Javascript может с ним взаимодействовать. Но иногда, периодически и без объяснения причин, объект flash в Javascript не имеет функции ExternalInterface. Это происходит, когда у меня на странице более одного раза установлен этот единственный флэш-файл, и часто бывает, что один или два экземпляра флэш-памяти будут иметь функции, а один или два не будут . Тот же самый точный источник вспышки, вставленный на страницу 3 или 4 раза. Очень странно. Есть идеи относительно того, что может быть не так или даже где мне начать искать? Я в недоумении.
Почему внешний интерфейс Flash * иногда * не работает?
Ответы (1)
Возможно, у вас проблема в том, что приложение Flash не готово, когда вы звоните.
Всякий раз, когда мне приходилось заниматься коммуникацией JS> Flash, я всегда позволял Flash «говорить». По сути, включите функцию JS, которую вызывает Flash-ролик, когда он готов и полностью загружен. Тогда и только тогда разрешите стороне JS выполнять вызовы Flash.
HTH!
Хуан
person
Juan Delgado
schedule
29.04.2009
@Juan, это очень хороший момент, позвольте мне вернуться и исследовать: у меня уже есть Flash, настроенный, чтобы сообщать Javascript, когда он загружен на 100%, после чего Javascript может начать с ним общаться. Позвольте мне посмотреть, действительно ли посылается этот сигнал.
- person Josh; 29.04.2009
@ Хуан, возможно, ты уже нашел ответ. Моя функция Javascript, вызываемая, когда флеш-память готова, похоже, не вызывается! Я это подтвердю, и если да, то отметьте ваш ответ как правильный.
- person Josh; 29.04.2009
@Juan: На самом деле я только что понял, что ошибался - функция JS вызывается, когда флэш-память вызывается, но дважды для каждого экземпляра флэш-памяти! Итак, что-то здесь явно не так, и вы указали мне правильное направление. Спасибо!
- person Josh; 29.04.2009
Я не знаю, что я делал не так, но это была проблема с Javascript, а не с Flash. Возврат к более ранней версии js-кода устранил проблему.
- person Josh; 09.05.2009