Flash AS3跨域错误

Flash AS3跨域错误,flash,actionscript-3,actionscript,cross-domain,crossdomain.xml,Flash,Actionscript 3,Actionscript,Cross Domain,Crossdomain.xml,我有一个SWF文件,它在假设myserver1.com/my.SWF上,我有一个跨域文件 <?xml version="1.0" ?> <cross-domain-policy> <allow-access-from domain="*.imageDomain1.com" /> <allow-access-from domain="*.AnotherimageDomain1.com" /> <allow-access-from domain=

我有一个SWF文件,它在假设
myserver1.com/my.SWF
上,我有一个跨域文件

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*.imageDomain1.com" />
<allow-access-from domain="*.AnotherimageDomain1.com" />
<allow-access-from domain="*.imageDomain2.com" />
</cross-domain-policy>
我不知道发生了什么。当我使用Firebug时,swf正在寻找
http://img.imageDomain1.com/crossdomain.xml
它就在那里。但是
http://img.AnotherimageDomain1.com/crossdomain.xml
不在那里(我无法将任何corssdomain文件放在那里,因为我没有任何访问权限)

问题是,在完成事件时,来自(会话1)的图像正在调整大小,来自(会话2)的图像没有调整大小


请帮帮我

如果您没有访问权限,则永远无法将crossdomain.xml放在那里。
因此,您当前的解决方案将无法处理沙箱问题

解决方案是您需要创建一个。
代理应该在的公共根目录下可用,即您确实有权访问的域

由于代理将与您的应用程序在同一个域中运行,因此它将充当中间人,为您的应用程序提供来自其自身域之外的数据,从而有效地绕过沙箱

请记住,您应该限制您的代理,否则您的站点可能容易受到XSS攻击


干杯

回答得好,丹尼斯,但也许你的意思是“代理应在”而不是“代理应在”提供?换句话说,代理需要在服务器上运行,您可以在服务器上放置crossdomain.xml,或者在加载swf的同一个域上运行(不需要crossdomain.xml)。@Lars,确实如此。应该在这件事上使用CPD:p
Security.loadPolicyFile("http://myserver1.com/crossdomain.xml");
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;

// The following is working (SESSION 1)
var request:URLRequest = new URLRequest('http://img.imageDomain1.com/firstImage.jpg');
var loader:Loader = new Loader();
loader.load(request, context);

// The following is not working (SESSION 2)
var request1:URLRequest = new URLRequest('http://img.AnotherimageDomain1.com/firstImage.jpg');
var loader1:Loader = new Loader();
loader1.load(request1, context);