ActionScriptでクロスドメインを認識させる方法は、
ActionScript 1
Security.loadPolicyFile("http://mysite.com/crossdomain.xml"); ↑たぶん、このようにスクリプトを書きます。
ActionScript 1
Security.loadPolicyFile("http://mysite.com/sitemap/crossdomain.xml"); ↑状況によってはドキュメントルート直下に「crossdomain.xml」置けないときもあると思います。
ボクは事情により後者で設定してFlashを再生させると、、
Error #2044: ハンドルされていない SecurityErrorEvent : text=Error #2048: セキュリティサンドボックス侵害 (※これはFlash Debug Playerからのアラートです) 出た!出たよ!!出てしまったよ!!!(TOT)
そこでFlashTracerでログを追跡してどんなエラーが出ているかを調べてみました。
ここでクロスドメインの構造をサクッと説明しますが、ドキュメントルート以外のクロスドメインの方法は更に下のほうに書きます。
crossdomain.xmlの設置と記述方法 Flashのクロスドメイン問題はいにしえからある問題です。 そもそもクロスドメインというのは、swfファイルを貼り付けているHTMLをからみて、外部ファイルをロードするときに、そのファイルが置いてある場所は、HTMLファイルとは違うドメインという状態のことを指します。つまり、FlashPlayerは他人のドメインを攻撃してしまわないようにしているわけです。でも、世の中には写真共有サービスがあったりRSSコンテンツがあったりAPIなんかもあります。そういった場合は、どこからでも情報を取得してもいいですよ。といった感じに許可をすることができます。 その許可をするための設定ファイルが、 crossdomain.xml にあたります。
たとえば、自分のサイト http://mysite.com というサイトに表示させるFlashコンテンツが http://hoge.com というサイトにあるRSSをロードするとします。 この場合、クロスしてますよね。 hoge.com サイトは、 mysite.com がRSSをロードしてもいいよ!と許可をする為に、 crossdomain.xml をドキュメントルートの場所においてあげます。 アドレスは
http://hoge.com/crossdomain.xml このようになります。実際に、この crossdomain.