近期弄了个flash地图。通过加载xml来达到点击相关区域调用xml内容简介的功能。

本地测试没有问题。好,上传。

但上传好之后,却始终无法显示xml内容。之前担心怕路径不对,所以在flash中,已经全部指定了绝对路径。

单独访问http://xxx.com/p/1.swf  能够显示,但一但将flash通过一个页面来调用,就无果。 研究了半天,

终于找出问题所在。

这里面涉及到两个问题。一个是路径一个是跨域访问。

第一个问题:最好是指定flash加载的xml为相对路径,这样我们可以按下面来处理。

flash当嵌套于当前网页1.html时。

flash和1.html不在一个位置。

如果flash已经设定的调用 .load(“map.xml”);

调用的是相对路劲。

那么 xml文件 需要 放在和1.html 一个目录中。而不是和flash一个路径中。

这样才可以调用。

第二个跨域访问,需要设置crossdomain.xml文件。通常此文件放在网站根目录下。

crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。下边是两个例子:
程序代码

<?xml version=”1.0″ encoding=”gb2312″?>

<cross-domain-policy>

 <allow-access-from domain=”www.friendOfFoo.com” />

 <allow-access-from domain=”*.foo.com” />

 <allow-access-from domain=”105.216.0.40″ />

</cross-domain-policy>
程序代码

<?xml version=”1.0″ encoding=”gb2312″?>

<cross-domain-policy>

 <allow-access-from domain=”*” />

</cross-domain-policy>

第二个例子允许任何域的访问。