我有一个在http://server/abc/service中运行的Web服务,该服务由来自不同域的Flash访问。我部署一个跨域策略文件http://server/abc/crossdomain.xml,并使其使用Flash加载:在主影片剪辑的构造在非根目录中Flash crossdomain.xml
flash.system.Security.loadPolicyFile("http://server/abc/crossdomain.xml");
。但是,当Flash启动时,它会请求并加载此文件(在Firebug中观察到),但它也会从不存在的服务器根目录(即从http://server/crossdomain.xml)请求该文件。后续的HTTP请求不起作用报告安全跨域错误。当我将策略文件放到服务器的根目录时,它一切正常。
为什么它从根目录请求策略文件,甚至认为它从子目录加载它?为什么子目录策略文件不够?
我还应该注意,在发出任何应用程序HTTP请求之前,这两个策略文件都会被加载。
+1谢谢你的链接。我必须承认我没有阅读跨域策略文件规范。我只读了我认为没有提到的Flash帮助。 –