Apache flex 相对于服务器根目录而不是.swf位置加载Flex资源

Apache flex 相对于服务器根目录而不是.swf位置加载Flex资源,apache-flex,actionscript,relative-path,Apache Flex,Actionscript,Relative Path,我有一个大的(700kb)Flex.swf文件,表示站点的主文件 对于性能测试,我想尝试将其转移到AmazonS3托管(我已经对某些视频和大文件进行了测试) 我继续这样做,并更新了html页面以引用remote.swf 事实证明,Flash将加载与访问该资源的.swf文件相关的任何资源—无论html页面的根是什么。因此,我的资源现在是从远程站点(它们不存在的地方)加载的 我可以做两件显而易见的事情: *远程复制我的所有资源(由于我现在正在测试,所以还没有准备好) *为.swf访问的每个URL添加

我有一个大的(700kb)Flex.swf文件,表示站点的主文件

对于性能测试,我想尝试将其转移到AmazonS3托管(我已经对某些视频和大文件进行了测试)

我继续这样做,并更新了html页面以引用remote.swf

事实证明,Flash将加载与访问该资源的.swf文件相关的任何资源—无论html页面的根是什么。因此,我的资源现在是从远程站点(它们不存在的地方)加载的

我可以做两件显而易见的事情: *远程复制我的所有资源(由于我现在正在测试,所以还没有准备好) *为.swf访问的每个URL添加抽象层,以派生新路径

我真的想轻弹一个开关,然后说‘加载与[原始服务器]相关的所有内容’

这样的事情是否存在,或者我是否被困在从远程机器加载所有东西,除非我完全限定每个路径


我想避免任何“黑客”行为,比如:对图像进行子类化并对路径进行黑客攻击

您可以尝试指定SWF的嵌入/对象标记的
base
参数。理论上,它定义了基本路径,用于解析用于加载的相对路径,但我不知道如果
base
值指向SWF所在的不同服务器,它是否有效

请参阅有关嵌入/对象参数的文档。向下滚动至中间的“
base


如果这不起作用,我看到人们做的另一件事就是通过
flashvars
传入自定义基本路径。然后在SWF中,检查是否定义了基本路径,如果是,则在加载之前将其前置到相对URL。

在URL之前附加斜杠,这应该相对于域而不是当前文件夹加载:

foo.load('/like/this/image.jpg')

这有点快,有点脏,通过querystring()提供“相对”url会更灵活。

这行不通。他说他的SWF与HTML位于不同的服务器上,他希望相对于HTML所在的服务器进行加载。此外,这将要求他更改所有的load语句,这是他想避免的。我尝试添加“base”,但它似乎不起作用——至少对SWFLoader来说,它不起作用