【回避方法】ドメインをまたいだクロスムービースクリプト(クロスス
先日書いた
ドメインをまたいだクロスムービースクリプト(クロススクリプト)
の回避方法があったのでメモ。
外部ドメインのswfを一旦バイナリで読み込み、そのバイトデータを元に再度Loaderで読み込む。
function loadSwf() { var request:URLRequest = new URLRequest("http://hogehoge.co.jp/hoge.swf"); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, swfLoadComplete); loader.addEventListener(IOErrorEvent.IO_ERROR, ServerErrorView); loader.load(request); function swfLoadComplete(event:Event) { var array:ByteArray = event.target.data; byteArrayLoader = new Loader; byteArrayLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, bvteArrayLoaderComplete); byteArrayLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ServerErrorView); byteArrayLoader.loadBytes(array); function bvteArrayLoaderComplete(event:Event) { var mc_root:MovieClip = byteArrayLoader.content as MovieClip; addChild(mc_root); } } //読み込みエラー時の処理 function piggServerErrorView() { //省略 } }
load処理が増えるが、これなら違うドメインのswfでも読み込める。