0

全部,

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

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

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

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

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

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

打开 URL 'http://[web_service_domain]/crossdomain.xml' 时出错

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

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

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

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

底线 - System.security.loadPolicyFile 工作吗?我还需要与该调用一起做些什么才能使其正常工作吗?或者,我做错了什么?

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

4

1 回答 1

1

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

于 2010-11-08T15:39:41.553 回答