4

我有一个代表网站主文件的大型 (700kb) Flex .swf 文件。

对于性能测试,我想尝试将其移至 Amazon S3 托管(我已经对某些视频和大文件进行了此操作)。

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

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

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

我真的很想按一下开关并说“加载与[原始服务器]相关的所有内容”。

这样的事情是否存在,或者除非我完全限定每条路径,否则我是否会从远程机器加载所有内容?

我想避免任何“hacky”之类的东西:子类 Image 并破解那里的路径

4

2 回答 2

1

在您的网址前附加一个斜杠,这应该相对于域而不是当前文件夹加载:

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

这有点快速和肮脏,通过查询字符串(或基本参数)提供“相对”网址会更加灵活。

于 2008-10-21T07:11:08.793 回答
0

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

在此处查看有关嵌入/对象参数的文档。向下滚动到base中间的“”。

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

于 2008-10-21T01:52:19.750 回答