2014-10-20 73 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