Похоже, вы пытаетесь нарисовать снимок загруженного SWF с помощью BitmapData.draw ().Вам потребуется либо файл crossdomain.xml на сервере, содержащий загружаемый SWF-файл, либо прокси-сервер через сценарий на стороне сервера.
Если у вас есть файл crossdomain.xml, вы можете использовать pass LoaderContext в качестве второго параметра метода Loader load () , явно запрашивая проверку междомена.Если требования безопасности не выполнены, будет отправлено SecurityErrorEvent .Кроме того, вы должны перехватить SecurityError , генерируемое при вызове метода draw () BitmapData, и использовать URL-адрес loaderInfo, чтобы изменить его и использовать его, как вам удобно:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
loader.load(new URLRequest('yoursite.com/yourfile.swf'),new LoaderContext(true));
function completeHandler(event:Event):void{
var clone:BitmapData = new BitmapData(1,1);//create a small bitmap to try and draw into
try{//draw the contents
clone.draw(event.target.content);
}catch(error:SecurityError){//expect security error
trace('SecurityError while loading',event.target.url,'details\n',error.message);
}
}
function securityError(event:SecurityErrorEvent):void{
trace(event.target.url,event);
}
Вы также можете добавитьпрослушиватели IOErrorEvent и HTTPStatusEvent, на случай, если что-то пойдет не так (файл отсутствует, неправильный URL и т. д.)