Как я могу обновить текст в загруженном SWF-файле с помощью javascript / AS3?

Мне нужно создать предварительный просмотр во Flash, который покажет пользователю настроенную версию продукта - например, с его собственным текстом на сайте. Обычно я не использую Flash, но немного разбираюсь в ActionScript 3.

Я использую jQuery для встраивания своего SWF-файла и взаимодействия с ним. У меня есть SWF-фильм, которому я передаю начальное значение через Flashvar, и оно отображается вместе с настраиваемым текстом в моем фильме. (Я создаю текстовое поле в фильме с помощью ActionScript 3)

Как я могу затем использовать javascript для последующей отправки обновленных значений для моих Flashvars в фильм - например, когда клиент изменяет текст в поле ввода на странице HTML?


person simonyoung    schedule 01.08.2009    source источник


Ответы (2)


Вам нужно будет определить свою собственную функцию для изменения текстового поля и сделать его доступным для вашего javascript с помощью ExternalInterface.

Это выглядит примерно так:

class MyClass {

  static function main() {      
    if (flash.external.ExternalInterface.available) {
      flash.external.ExternalInterface.addCallback("updateText", updateText);
    }

    static function updateText(txt) {
      // Whatever you want
    }
  }    

}
person Sinan Taifour    schedule 01.08.2009

Существует вариант ExternalInterface, как на плакате выше. показал.

Если ваши требования немного сложнее, вы можете использовать предоставленный Adobe Flex Ajax Bridge. Вам также понадобится Flex SDK (см. О Flex Ajax Bridge). Мост может упростить задачу, если вы хотите управлять большей частью поведения SWF из JavaScript. ExternalInterface более полезен для простых, быстрых и одноразовых вызовов функций.

person James Fassett    schedule 03.08.2009