BitmapData.draw()を使用して読み込んだswfのスナップショットを描画しようとしているようです。 読み込み中のswfを保持しているサーバーにcrossdomain.xmlが必要です。サーバーサイドスクリプトを使用してプロキシするか、
crossdomain.xmlがある場合、LoaderContextをLoaderのload()メソッドの2番目のパラメータとして渡して、明示的にクロスドメインチェックを要求することができます。 セキュリティ要件が満たされない場合は、SecurityErrorEventが送信されます。ただ、
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のリスナーを追加することができます。 また、あなたはのBitmapDataのドロー()メソッドを呼び出したときにスローSecurityErrorをキャッチし、それを変更することがLoaderInfoのURLを使用すると、それはしかし、あなたが合う使用する必要があります何かがうまくいかない場合(ファイルが見つからない、間違ったURLなど)
あなたはいくつかのコードを表示できますか? – Taurayi
これはどうですか? http://active.tutsplus.com/tutorials/actionscript/quick-tip-using-a-php-proxy-to-load-assets-into-flash/ – gltovar
はい、私はリモートswfへの実際のアクセスがありません。だから私は依然として行われている要求をキャッチし、URLを編集する必要があります。 –