【问题标题】:How can I update the text in a loaded SWF file with javascript/AS3?如何使用 javascript/AS3 更新加载的 SWF 文件中的文本?
【发布时间】:2009-08-01 11:46:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript jquery flash actionscript-3


    【解决方案1】:

    您需要定义自己的函数来更改文本框,并使用 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
        }
      }    
    
    }
    

    【讨论】:

      【解决方案2】:

      如上面的海报所示,有ExternalInterface 的选项。

      如果您的要求有点复杂,那么您可以使用 Adob​​e 提供的 Flex Ajax Bridge。您还需要 Flex SDK(请参阅About the Flex Ajax Bridge)。如果您想从 JavaScript 驱动大部分 SWF 行为,该桥可以简化事情。 ExternalInterface 对于简单、快速、一次性的函数调用更有用。

      【讨论】:

        猜你喜欢
        • 2014-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多