小编hdm*_*ler的帖子

Flash AS3在尝试获取外部swf时获取安全沙箱冲突

Hii,我想从另一台服务器加载swf文件到我的flash应用程序.当我尝试在flash IDE(crl + enter)上加载它时一切正常,但是当我将swf作为独立的swf文件运行或通过调试它时,我收到此错误:

SecurityError: Error #2121: Security sandbox violation: LoaderInfo.content: file:///C|/Users/something/Desktop/blablabla/myplayer.swf cannot access http://www.somedomain.com/blablabla/lalalala/abc.swf. This may be worked around by calling Security.allowDomain.
at flash.display::LoaderInfo/get content()
at wallplayer_fla::MainTimeline/swfLoaded()[wallplayer_fla.MainTimeline::frame1:216]
Cannot display source code at this location.
Run Code Online (Sandbox Code Playgroud)

我在服务器的根目录中有crossdomain.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*" />
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)

在"myplayer.swf"中我有:

Security.allowDomain("*");
Security.allowInsecureDomain("*");
...
...
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.checkPolicyFile = true;
loaderContext.allowCodeImport = true;

ldr = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
ldr.load(new URLRequest(graySwfFilename), loaderContext);
...
...
var mcExt;
var ldr:Loader;
function …
Run Code Online (Sandbox Code Playgroud)

security flash sandbox actionscript-3 flash-cs5

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

actionscript-3 ×1

flash ×1

flash-cs5 ×1

sandbox ×1

security ×1