Показать сообщение отдельно
Старый 17.10.2012, 18:03
inpost вне форума Посмотреть профиль Отправить личное сообщение для inpost Найти все сообщения от inpost
  № 1  
Ответить с цитированием
inpost

Регистрация: Oct 2012
Сообщений: 23
По умолчанию Как правильно сделать МОСТ между JS и Flash для Opera

Всем привет.
Вот ситуация, на AS пишу:
Код AS3:
ExternalInterface.addCallback("FlashChangeUserInfo", JSChangeUserInfo);
Теперь в JS код:
PHP код:
function VideoFlashChangeUserInfo() {
    
BridgeVideo.FlashChangeUserInfo()
}
window.onload = function() {
    
BridgeVideo document["BridgeVideo"] || window["BridgeVideo"]
    
VideoFlashChangeUserInfo()

Какая цель: при загрузке страницы отправить во флеш данные. Всё просто.
Ситуация вот какая, в ФФ, Хроме - нормально всё работает, в Опере: через раз пишется, что не может понять, что такое "BridgeVideo.FlashChangeUserInfo()", то есть такое чувство, что флеш загрузился в браузер, но ещё не активировался как надо.
Если тупо написать alert(BridgeVideo), то определяет как объект, то есть на странице находит флеш, но не находит этого моста на данный момент. При этом 50\50, каждую вторую загрузку.
Костыль, который я сделал:
PHP код:
window.onload = function() {
    
setTimeout("onLoader()",1000);
}
function 
onLoader() { 
Хотелось бы узнать, как правильно делать? Конечно у меня в догадках, что может быть addEventListener вешать надо на флеш, но тоже непонятно что и как, потому что у меня должны 2 ролика загрузиться и только потом запуститься обработка, либо со стороны флеша отправлять идентификатор, что он загрузился в JS , тем же мостом.

Всё же как верно сделать и объясните, верно ли я понимаю причину того, что флеш.ролик загрузился в браузер, но ещё не активировались функции?