2014-10-20 70 views
0

我有这样的代码:AS3没有加载crossdomain.xml的

var advert:Loader = new Loader(); 
var url:URLRequest = new URLRequest(root.loaderInfo.parameters.video_src); 
var context:LoaderContext = new LoaderContext(); 
context.checkPolicyFile = true; 
context.securityDomain = SecurityDomain.currentDomain; 
context.applicationDomain = ApplicationDomain.currentDomain; 
advert.load(url, context); 

出于某种原因,没有包在所有的crossdomain.xml的查询

而且我得到这个错误:

Error #2044: Unhandled SecurityErrorEvent:. text=Error #2048: Security sandbox violation: http://edomain.com/flashfile.swf?t=1413815793214 cannot load data from

这是应加载跨域:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

回答

1

您是否尝试过使用URLLoader来下载SWF并使用返回的数据在Loader上使用loadBytes?这样,你可以绕过安全域检查,并仍然强制它使用SecurityDomain.currentDomain(因为这是用于loadBytes,甚至不能更改)

+0

他没有水平尚未回答,他的方法也工作,我只是没有并没有将它标记为答案,而是等待更好的解决方案。 – Azarus 2014-10-20 16:39:57