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.

続きを読む

プロフィール画像

こたぽん

ビールと生ハムが好き

フロントエンドエンジニア

Tokyo