如何避免硬编码xml文件的完整URL?

时间:2012-07-16 12:14:23

标签: actionscript-3

我必须提供完整的网址:www.abc.com/folder1/folder2/my.xml rathar,而不仅仅是提供相对网址“./my.xml”。

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

2 个答案:

答案 0 :(得分:1)

我无法理解您的实际需要:相对或绝对URL?

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

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

答案 1 :(得分:0)

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

如果是这样,你需要告诉flash播放器哪个url:flash中的所有相对url:s应该用作起点。这是使用“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 /中。

希望这能解决你的问题。