読者です 読者をやめる 読者になる 読者になる

【回避方法】ドメインをまたいだクロスムービースクリプト(クロスス

先日書いた
ドメインをまたいだクロスムービースクリプト(クロススクリプト)
の回避方法があったのでメモ。

外部ドメインの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でも読み込める。