他ドメインのファイルを読み込む


いろんなとこでまとめられてたけど自分が欲しい情報に直結しなくて苦労したので一発まとめてみた。
クロスドメインポリシーファイルについてはアクセス許可管理の概要 -- Flex 2を参照するとよいかと。
昔はドキュメントルートにクロスドメインポリシーファイルを置かなければならなかったらしい。
Flash7からは任意の場所に置いて参照できるloadPolicyFileメソッドができたらしい。
一応許可ドメインに "*" はセキュリティ的によろしくないらしいので、そこは覚悟の上で設定してくれ らしい。

import flash.system.Security;
import flash.system.LoaderContext;
import flash.system.SecurityDomain;
import flash.system.ApplicationDomain;

// クロスドメインポリシーファイル取得
Security.loadPolicyFile("http://**.**.**/***/***/crossdomain.xml")

// ポリシーチェック用
var context:LoaderContext = new LoaderContext();
// swf以外のファイルのアクセス許可
context.checkPolicyFile = true;
// swfファイルのアクセス許可
context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;
// ファイル読み込み
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest(url);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
loader.load(request, context);