【发布时间】:2011-02-13 23:32:54
【问题描述】:
我在使用跨域策略时遇到了问题。我正在使用 AS3 Loader 来获取图像;我正在让它加载策略文件,如下所示:
var pLoader : Loader = new Loader();
var pContext : LoaderContext = new LoaderContext();
pContext.checkPolicyFile = true;
pLoader.load(new URLRequest(sURL), pContext);
只要图像可以直接访问,它就可以正常工作; 然而,当服务器发送重定向时,加载器会跟随它,但会丢失 checkPolicyFile 标志,从而导致 SecurityException - 即它不检查重定向 URL 的跨域策略。
我在这里找到了一个解决方案 (http://www.stevensacks.net/2008/12/23/solution-as3-security-error-2122-with-300-redirects),但看起来很脆弱(也就是说,如果有多个重定向,它看起来会失败)。这样做的正确方法是什么?
编辑:我目前最好的解决方案是使用新的加载器,如果访问内容引发 SecurityException 并且加载的 URL 与我最初请求的不同......有效,但感觉就像一个 hack。
【问题讨论】:
标签: apache-flex actionscript-3 cross-domain