System.security.loadPolicyFile未从自定义位置加载(Flash AS 2)

时间:2010-11-08 13:41:44

标签: flash actionscript-2 crossdomain.xml

所有

我正在尝试从自定义位置(而不是根目录)加载跨域策略文件。

具体来说,我试图调用的Web服务的开发人员在他的服务器上安装了一个跨域策略文件:

的http:// [web_service_domain] / [some_subdirectory]的/crossdomain.xml

所以,在我的SWF中,我称之为:

System.security.loadPolicyFile("http://[web_service_domain]/[some_subdirectory]/crossdomain.xml";

但是,当我在Flash IDE中运行测试SWF时,我收到此错误:

打开网址'http:// [web_service_domain] /crossdomain.xml'

时出错

换句话说,loadPolicyFile命令忽略[some_subdirectory],并尝试从根目录加载策略文件。

当然,它不存在,所以无法加载。 (如果开发人员可以在根目录下安装该文件,我就不会遇到这个问题,所以我不会首先使用System.security.loadPolicyFile。)

这不仅仅是在IDE中 - 当我使用Firebug在Firefox中测试应用程序时,我可以看到SWF正在尝试从'http:// [web_service_domain] /crossdomain.xml'加载策略文件。

我已经剥离了SWF,以便除了尝试从子目录加载策略文件之外什么都不做,但它仍然失败。所以,我不认为这与我的特定应用程序的任何特性有关。

底线 - System.security.loadPolicyFile是否有效?还有什么我需要做的事情与该调用相结合才能让它发挥作用吗?或者,有什么我做错了吗?

非常感谢任何建议/见解。

1 个答案:

答案 0 :(得分:1)

它正在尝试加载现在需要的主跨域策略文件: http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html