swf的数据加载。
假设你的swf所在页面在http://laaan.cn/next/abc.html。如果你在swf加载数据“assets/data.xml”, 则数据加载指向http://laaan.cn/next/assets/data.xml;如果swf加载地址写的是“
/assets/data.xml”,则数据指向http://laaan.cn/assets/data.xml。
当然了,如果你地址直接写“http://demi.cn/a/b/c/assets/data.xml”,不用想了,肯定还是“http://demi.cn/a/b/c/assets/data.xml”,绝对路径嘛。
以上均无需考虑swf在那个目录,反正数据加载是基于页面地址的。但是如果你想相对于swf地址加载数据怎么办呢?
1. 通过stage.loaderInfo.url来获取swf的地址,然后再进行绝对路径数据加载,比如:
var baseURL:String = stage.loaderInfo.url;// 这种方法很实用
baseURL = baseURL.replace(/[^//].*$/, “”);
然后就可以加载数据 baseURL + “assets/data.xml”。
2. 使用flashplayer参数:
<pram name=”base” value=”…”>
可以指定value为别的网站地址,比如:http://demi8.cn/abc,这样的话flash就会基于http://demi8.cn/abc来加载数据了