【问题标题】:Flash and External Javascript [duplicate]Flash 和外部 Javascript [重复]
【发布时间】:2012-09-05 06:33:06
【问题描述】:

可能重复:
calling a Flash ExternalInterface with JavaScript

我有一个带有 AS 代码的 flash 文件。我想运行将运行 AS 函数的 Javascript。例如:在 AS 我有一个名为“loadXML”的函数。保存名为“pawel”的 SWF 文件的对象(对象的 ID)。如何运行将在“pawel”函数“loadXML”上运行的 Javascript 代码?我将 Flash 6 与 AS 3 一起使用。

【问题讨论】:

  • 检查ExternalInterface 类。您需要通过addCallBack() 方法注册该JS 函数。

标签: javascript actionscript-3 flash


【解决方案1】:

您应该使用ExternalInterface.addCallback() 方法。详情请参阅http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#addCallback()。

【讨论】:

    【解决方案2】:

    我建议你检查这个http://www.redcodelabs.com/2012/04/calling-actionscript-method-from-javascript/ 它有运行示例和 as3/js 代码。

    【讨论】:

      【解决方案3】:

      我相信这里的目标是向 swf(已编译外部 .as 文件)发送 xml 文件在服务器某处的位置,以便 swf 可以编译、解析和创建某些内容。

      我已经多次使用 Flash 变量进行此操作,这也可能对您有用。在您的网页中嵌入 .swf 时,您可以通过 js 或 html 向其发送 flash 变量,或使用 php 动态发送。一旦我的 fla 与硬编码的变量(如 xml)完美配合,我就会将 flash 变量代码添加到头部并对 fla 进行一些小的调整——这通常会破坏 fla 在 flash 中“正确”运行(因为它是现在依赖于这些外部变量)

      无论如何,这就是我如何做我的 flash vars(还有其他方法,值得在谷歌上搜索)

      import flash.net.*;
      
      var flashVars:Object = new Object();
      flashVars = this.loaderInfo.parameters;
      var xmlVal;
      
      for (var item:String in flashVars)
      {
          switch (item)
          {
              case "xmlLocation" :
                  xmlVal = String(flashVars[item]);
                  break;
      
          }
      
      }
      

      这是发送值的 javascript:

      <script type="text/javascript">
      
                  //flashObj
                  var flashvars = {};
                      flashvars.xmlLocation = "http://google.com/myXML.xml";
                  var params = {wmode:"transparent"};
                  var attributes = {};
                      swfobject.embedSWF("images/banner.swf", "yourSliderId", "175", "300", "9.0.0", false, flashvars, params, attributes);
      
      
              </script>
      

      这是使用 SWFObject(一个开放的 API Flash 嵌入 js 库)来处理 swf 嵌入。我更喜欢它,因为如果您查看上面的代码,您可以阅读并理解它,默认方式真的很难阅读、编辑和理解。

      如果您只需要 XML,然后就完成了,那么这对您有用。如果您仍然需要使用 javascript 说点击“下一个”或“上一个”按钮,请参阅此网站文章,我相信这可能会进一步帮助您: http://arrixlive.wordpress.com/2005/03/25/javascript-in-love-with-flash-control-swf-from-javascript/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多