全部,
我正在尝试从自定义位置(而不是根目录)加载跨域策略文件。
具体来说,我试图调用的 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 工作吗?我还需要与该调用一起做些什么才能使其正常工作吗?或者,我做错了什么?
非常感谢您提供任何建议/见解。