外部サイトのXMLファイルやテキストファイルを読み込む - Action Script

他のサイトのXMLファイルやテキストファイルを読み込む場合は、クロスドメインの設定をする必要があります。
  1. XMLファイルを配置してあるドメインにポリシーファイル(任意の名前)を設置する
  2. XMLファイルが配置してあるサーバのドキュメントルートにマスターポリシーファイル(crossdomain.xml)を設置する
  3. Flashのスクリプト中でポリシーファイルを読み込む
という手順が必要になります。

ポリシーファイル

XMLファイルを読み込むディレクトリに配置するポリシーファイルは以下の通りです。
<cross-domain-policy>
  <allow-access-from domain="*" secure="false"/>
</cross-domain-policy>
接続先を制限する場合は、allow-access-from domain="*" の "*"に接続を許可するドメイン名を入れます。

crossdomain.xml

サーバーのドキュメントルートに配置するcrossdomain.xmlは以下の通りです
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" secure="false" />
</cross-domain-policy>
接続先を制限する場合は、allow-access-from domain="*" の "*"に接続を許可するドメイン名を入れます。

Flashスクリプト中でのポリシーファイル読み込み

ポリシーファイルを読み込むにはSecurity.loadPolicyFile()メソッドを使用します。以下のコードはhttp://www.ipentec.com/flashapp/policy.xmlにあるポリシーファイルを読み込む例です。
Security.loadPolicyFile("http://www.ipentec.com/flashapp/policy.xml");

サーバーのドキュメントルートにcrossdomain.xmlを配置できない場合

レスポンスヘッダに
X-Permitted-Cross-Domain-Policies: none
をつけることで対応できるとのことです。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2009-10-27
iPentec all rights reserverd.