Я использую Flash для воспроизведения клипа формата .flv на своем сайте. Мне важно, чтобы .swf-ролик посылал события в JavaScript во время загрузки, при начале и по завершении просмотра. Какой способ лучше использовать в Flash CS3 с ActionScript 3.0 для организации такого обмена событиями?
Я использовал ExternalInterface для коммуникации между Flash и JS, и могу сказать, что метод с call и addCallback оказался самым простым и надёжным. Был случай, когда через addCallback прилетали не все события, пришлось немного покопаться в настройках браузера. В общем, советую попробовать этот вариант и подстроить тестовую страницу под собственные нужды, тогда все заработает, как надо.
Я лично использовал ExternalInterface, но добавлял небольшой обёртки для надежности передачи событий. Иногда метод addCallback глючил, если логика была сложной, поэтому я использовал аккуратное дебаггирование и разделение логики между Flash и JS. Советую проверить обработку очередей вызовов и добавить логирование, чтобы отлавливать потерю событий, особенно в старых браузерах.
За такую ситуацию можно попробовать добавить временные задержки или дополнительные проверки перед вызовом JS. Какой механизм защиты от повторных вызовов вы уже пробовали? Интересно, какие еще ошибки замечали при передаче событий между Flash и JavaScript?