Невозможно связаться с Javascript из Flex после динамической загрузки SWF - PullRequest
1 голос
/ 01 августа 2009

по какой-то причине, всякий раз, когда я динамически загружаю swf в $ (document) .ready (), записывая в div, я не могу делать вызовы javascript в браузере. В частности, все вызовы браузера возвращают «ноль». Это не происходит при обычном встраивании SWF-файла при загрузке страницы, но я бы хотел предотвратить загрузку SWF-файла до указанного момента времени.

Какого черта здесь происходит? Есть ли что-то особенное в динамическом внедрении swf, который не позволяет swf общаться с браузером? Вызваны методы (я доказал это, показав оповещения), но все возвращаемые значения для любой функции , независимо от возвращаемого типа, отображаются как нулевые, когда она мигает.

Это ошибка в flex, или я что-то упустил полностью? Это было для меня большой головной болью.

Ответы [ 3 ]

1 голос
/ 03 сентября 2009

Переключение на swfobject2.2 для встраивания swf волшебным образом решило проблему.

0 голосов
/ 03 сентября 2009

Я столкнулся с этой проблемой и обошел ее (немного неприглядно), используя Prototype PeriodicalExecuter:

Event.observe(window, 'load', function() {
  //Check to see if the flash function is available once per second.
  new PeriodicalExecuter( function(pe) {
      var flash = $('flashObject');

      if(typeof flash.myFlashFunc == 'function'){
          //At this point, the flash function is available
          pe.stop()
      }
  }, 1);
});

Обновление до последней версии, вероятно, лучший путь. Я должен попробовать это на моем конце.

0 голосов
/ 01 августа 2009

Я предполагаю, что вы используете ExternalInterface.call (или, может быть, .addcallback)? Можете ли вы опубликовать код (особенно со стороны JS)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...