【发布时间】:2012-08-05 17:58:09
【问题描述】:
希望有人可以在这里提供帮助,或多或少地寻找 a) 相对路径的解决方案或 b) 了解另一种加载资产的方法。
我们有一个使用 SDK 4.1 的独立 Web 应用程序,并在其相关资产文件夹中查找要加载的所有图像和外部 swf。
在服务器上,这是资产目录的绝对路径:
/ApplicationRoot/versionFldr/controls/assets/*
应用程序在加载资产的所有情况下都使用相对路径。随着我们推进应用程序的版本,这将不断被添加和更新。
所以,本质上,该应用正在寻找:
assets/*
现在转到 NEW 应用程序,我们将其称为“ParentApp”,将上述应用程序称为“ChildApp”。
父应用与子应用位于不同的服务器目录
/ParentApp/version/controls/ParentApp.swf
/ChildApp/version/controls/ChildApp.swf
现在,当 ChildApp 加载到 ParentApp 时,它假定它与它一直在同一个目录中。因此,它查找 assets/* 并找不到它们,因为
/ParentApp/version/controls/assets/* != /ChildApp/version/controls/assets/*
我需要找到一个解决方案,让 ChildApp 在它是 ParentApp 的子级时查看所有加载资产的绝对路径,并让它在独立时查看相对于自身的路径。
我需要注意的是,图像被加载到各种控件、缓存甚至 mx:Text 字段(带有标签的 html 文本)中。我试图避免必须全局替换应用程序中的所有路径链接,并且在为应用程序创建新资产时必须创建新的编码过程。 ChildApp 正在生产中,必须保留在 4.1 SDK 上。
ParentApp 是新的并且具有更大的灵活性。
我在 childApp 中尝试了 -source-path 和 -library-path 编译器选项,但这会导致编译错误,我无法继续。
提前感谢您的任何见解和帮助! -AJ
【问题讨论】:
标签: apache-flex relative-path assets absolute-path subapplication