错误#2048:安全沙箱冲突:无法从<local file =“”>加载数据

时间:2015-11-27 00:01:34

标签: actionscript-3 flash

我在AS3应用程序中发现了一个问题。在我的本地机器上一切都很好,但当我把它发送给我的朋友时,他无法在他的电脑上打开它,因为他有

  

错误#2044:未处理的securityError:。 text =错误#2048:安全性   沙箱冲突:无法从data.json加载数据

将应用程序上传到网页时发生同样的错误。我无法播放它并得到同样的错误。

这是我的代码:

var myTextLoader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("data.json");
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);
myTextLoader.load(request);

...

private function onLoaded(e:Event):void 
{
            var loader:URLLoader = URLLoader(e.target);
            var myObject:Object = JSON.parse(loader.data);
}

我该如何解决?如果可以,请帮助我:)。

1 个答案:

答案 0 :(得分:0)

本地SWF无法获取本地文件系统访问权。

在线SWF可以根据相同的原始策略访问资源,或者如果设置了crossdomain.xml,则可以进一步访问资源。

您无法为本地修复此问题,但在线SWF应该可以执行此操作。

尝试:

var request:URLRequest = new URLRequest(&#34; ./ data.json&#34;);

这意味着如果SWF托管在:

https://www.example.com/foo/flash.swf

它可以访问:

https://www.example.com/foo/data.json