loder导致的安全沙箱的2122错误
前两天在做loader加载图片的时候,虽然在服务端的Root下面已经有crossdomain.xml的跨域文件,但却意外的发现仍然报出了安全沙箱的错误,当然最后还是解决了,只能说,flash的安全性真是很麻烦:
A机:发布地图服务端(spring),中间件为tomcat 5.0;
B机:客户端SWF
Flex Code:
代码
var imgSource : String = SysConfig.symbolServiceURL + "/" + eventInfo.subTypeID + ".gif";
var imageLoader:Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,partImageLoadComplete);
imageLoader.load(new URLRequest(imgSource));
var imageLoader:Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,partImageLoadComplete);
imageLoader.load(new URLRequest(imgSource));
问题:当客户端访问时,报出如下错误:
加载或要素对象失败!Error #2122:
安全沙箱冲突:LoaderInfo.content:http://192.168.0.69:8088/hzcg/home/map/gis/MainMapClient.swf
不能访问 http://192.168.0.247:8085/flex/symbol/custom_1.gif。需要一个策略文件,但在加载此媒体时未设置 checkPolicyFile 标志。
解决办法:
var imgSource : String = SysConfig.symbolServiceURL + "/" + eventInfo.subTypeID + ".gif";
var imageLoader:Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,partImageLoadComplete);
var lc:LoaderContext = new LoaderContext(true);
lc.checkPolicyFile = true;
imageLoader.load(new URLRequest(imgSource),lc);所有版权归小能所有哦!!!