如何使用javascript / AS3更新加载的SWF文件中的文本?

时间:2009-08-01 11:46:17

标签: javascript jquery flash actionscript-3

我需要在Flash中构建一个实时预览,向用户显示产品的自定义版本 - 例如在网站上使用自己的文本。我不正常使用Flash,但了解一点ActionScript 3。

我正在使用jQuery嵌入并与我的SWF进行通信。我有一个SWF电影,我通过Flashvar传递初始值,这显示我的电影中的自定义文本。 (我使用Actionscript 3在电影中创建文本字段)

如何使用javascript稍后将我的Flashvars的更新值发送到电影 - 例如,当客户更改HTML页面上输入字段中的文本时?

2 个答案:

答案 0 :(得分:2)

您需要定义自己的功能来更改文本框,并使用ExternalInterface将其用于您的JavaScript。

它是这样的:

class MyClass {

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

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

}

答案 1 :(得分:0)

上面的海报显示了ExternalInterface的选项。

如果您的要求稍微复杂一些,那么您可以使用Adobe提供的Flex Ajax Bridge。您还需要Flex SDK(请参阅About the Flex Ajax Bridge)。如果您想从JavaScript驱动大多数SWF行为,那么桥可以简化操作。 ExternalInterface对于简单,快速,一次性的函数调用更有用。