Flash AS2:使用网络驱动器上的相对路径打开其他SWF

时间:2012-03-26 22:39:57

标签: flash actionscript-2 relative-path

问题

我们似乎无法获得原始.SWF来加载其合作伙伴.SWF文件。虽然<object>标记将正确加载其文件,但.SWF无法将其他.SWF加载到其中。 ActionScript是通过AS2“行为”自动生成的,基本上调用loadMovieNum(file, this)this.LoadMovie(file),具体取决于之前加载的方式。每个引用彼此的.SWF组将存在于驱动器映射的网络共享中。

事实

  • 客户端正在使用ActionScript 2.0的“行为”功能
  • 所述行为是根据onRelease()事件在同一路径中加载其他.SWF文件
  • 客户和我们自己都不熟悉Flash&amp;动作脚本。
  • .SWF将在自定义应用程序中的HTML中托管
  • 该软件以编程方式从流中加载HTML,而不是文件。
  • 所述HTML使用标准<object>标记来托管Flash .SWF
  • 主.SWF位于一系列子文件夹中的映射网络驱动器(例如:“K:\”)下面。
  • .SWF组将驻留在同一文件夹中
  • 我们的受控环境是WinXP + SP3和Flash 9,具有极其有限的更新能力。
  • 他们强烈反对使用绝对路径,因为它会影响某些.SWF群组的重用。

使用Process Monitor并使用"base" <param>进行停用,我们看到了以下内容:

  1. 如果没有param,它会尝试在AboutURLs下面找到.SWF作为注册表值。这可能是我们的应用程序在动态加载HTML之前最初指向“about:blank”的副作用。
  2. 以完整路径(“K:\ test \ sub \”)为基础,尝试在“C:\”
  3. 的根目录中查找SWF
  4. 使用真实的HTML文件进行测试(还不能使用App进行测试),提供没有驱动器号的完整路径(“\ test \ sub \”)将从与HTML相同的驱动器导航到此路径。鉴于我们的限制(“约:空白”的事情),这可能是“C:\” OR 注册表。
  5. 问题

    这是否可以通过我们使用任何HTML / JavaScript,或者我们必须有一些ActionScript来确定当前SWF的路径,使用它来动态获取其他SWF的位置(也在同一路径中) ,然后尝试教这个客户端如何实现脚本?再一次,他们(和我们)对Flash知之甚少;他们使用“行为”试图让它发挥作用。

1 个答案:

答案 0 :(得分:0)

只是提示:如果您有任何机会使用您的应用,请考虑使用网络服务器托管您的Flash。通过局域网从文件加载会导致许多难以解决的问题,您可能已经深入到这里。

相关问题