loader.content、bmd.draw(loader) でセキュリティサンドボックス侵害
秋ですねーデジタルテレビって高い。。まだアナログななっくるです。
今回は、
出来たー!と思って、サーバにあげたら残念なエラー、セキュリティサンドボックス侵害について。
ドメインの違う外部画像を読み込んで、こんな感じでaddchildしたらセキュリティサンドボックス侵害が…
_img = new Loader(); _img.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteImgLoad); _img.load(req); private function onCompleteImgLoad(e:Event):void { _loadMc.addChild(_img.content);//これダメ }
swfを読み込んだ時にloader.contentを使って制御できるので、loader.contentをaddchildしてました。ローカルではもちろんエラーは出ず。サーバーにUPしたらセキュリティサンドボックス侵害のエラーがでてしまいました。読込先のドメインにcrossdomain.xmlを置いて読み込んでもだめでした。
そもそもこの書き方はいけないんですかね?_loadMc.addChild(_img)にすればエラーは消えました。
で、これを検索してて、crossdomain.xmlで許可されていない画像の場合、bmd.draw(loader)をするとこれもセキュリティサンドボックス侵害のエラーが出るそうです。知りませんでした。
詳しくはAS で別ドメインの画像を読み込むときの注意点 - てっく煮ブログへ。