0

我必须提供一个完整的 URL:www.abc.com/folder1/folder2/my.xml 而不仅仅是提供相对 URL "./my.xml"。

我该如何解决这个问题?这迫使我对 .as 文件中的 URL 进行硬编码。

4

2 回答 2

1

我无法理解您真正需要什么:相对 URL 还是绝对 URL?

如果是相对的,请使用它。只需考虑它应该与 HTML 包装器相关,而不是 SWF 本身。

如果是绝对的并且您只是不想将其嵌入到代码中,请使用 FlashVars 从 HTML 包装器将其传递给您的 SWF。

于 2012-07-16T12:27:48.013 回答
0

您可以在 Flash 中使用相对 url,并且当您在本地测试时它正在工作这一事实表明嵌入存在问题。我的猜测是您已将 swf 放在 html 页面的子文件夹中,但在嵌入 swf 时未指定基本 url。swf 文件是否位于 www.abc.com/folder1/folder2/ 或除 html 本身之外的任何其他文件夹中?

如果是这样,您需要告诉 Flash 播放器 Flash 中的所有相关 url:s 应该使用哪个 url 作为起点。这是使用“base”参数完成的。如果使用 SWFObject 嵌入 swf,则使用具有基本属性的对象指定它:

var flashvars = {
};

var params = {
  base: "/folder1/folder2/"
};

var attributes = {
};

swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);

请注意,在上面的示例中,我假设 .swf 位于 folder2/ 中。

希望这能解决您的问题。

于 2012-07-18T22:30:09.710 回答