先日(10/19/29)までは、loaderで取ってきていたアイコンが
複製出来たのですが、突如できなくなった。
s.twimg.comのクロスドメインポリシーが変わったらしい。
出来ていた頃のcrossdomain.xmlを見ていなかったのが不覚なんですが、
これ変わったんですよね?
ちなみに、特に書かれていなかったけど、これに関連すると思われる。
# Twitter、新ロゴおよび新ガイドライン発表——「Tweet」利用にも制限
http://www.itmedia.co.jp/news/articles/1011/01/news022.html
Posts Tagged ‘Loader’
AS3:Twitterのcrossdomain.xmlが変わった?
木曜日, 11月 4th, 2010AS3:Twitterの画像を読み込むときの注意点
土曜日, 9月 11th, 2010
# 外部ドメインからロードした画像に対しては、
# ピクセルデータにアクセスできない
これはトリッキーだ!と思った。
FlashPlayerでのプレビュー時にはこの問題は起きない、
ブラウザで見たときに初めて発動する。
発動条件:
# 読み込んだ画像をBitmapDataとして使いたい
今回は、Loaderで読み込んだ画像を使いまわしたい、という
ミッションのためにその読み込んだ画像をBitmapDataで
保持する必要があった。
# そもそもLoaderやMovieClipはコピー出来ないからこんなことに…
loaderをそのままMovieClip等にaddChildすれば問題ない。
問題は、loader.content を読み出す時だ。
今回の参考サイト:テック煮ブログ
AS で別ドメインの画像を読み込むときの注意点CommentsAdd Star
# こちらのサイトの “セキュリティサンドボックス侵害への対応”
詳しくは上記サイトを参考にしてもらうとして、
とりあえずTwitterのプロフィール画像を読み込むのであれば、
LoaderContext の checkPolicyFile を true にすることで解決。
function loadStart():void { // LoaderContextを準備 var context:LoaderContext = new LoaderContext(true); var loader:Loader = new Loader(); var req:URLRequest = new URLRequest("http://www.example.com/sample.png"); loader.load(req, context); // 第2引数に context を渡す loader.contentLoaderInfo .addEventListener(Event.COMPLETE,onLoaded); } function onLoaded(e:Event):void { var bmp:Bitmap = Bitmap(e.target.content); }
ご参考までに。