別のドメイン上にあるデータソースからのLoad Variablesが動作しない
問題リモートサーバー上にあるファイルからLoad Variablesでのデータの読み込みに失敗する。
理由
Load VariablesはFlashムービーが再生されているドメイン以外の外部のデータソースにアクセスすることは不可能です。
例えば、Flashムービーが http://www.yourserver.com を利用していて、 Load Variablesで、http://www.yourserver.com/data.txt からデータを読み込む場合はうまくいきます。この場合は テキストファイルが「 yourserver.com 」ドメインの中に位置しているので、期待通りに動作します。
逆に、そのFlashムービーが再生されているドメイン以外の http://www.not-yourserver.com/data.txt からデータを読み込む場合は読み込みに失敗します。(エラーメッセージは現れません。 )
Flash Playerは、セキュリティ目的のためムービーが存在するドメイン以外のデータへのアクセスを認めません。Flashムービーとの間でのデータ転送でのセキュリティが強化されました。
対処法
読み込むデータソースは、Flashムービーと同じドメイン上に置きます。
どうしても別のドメイン上にあるデータソースからデータを読み込まなくてはならない場合は以下の方法をとります。(ただし、以下の方法は、CGIを十分に理解している方及びシステム管理者以外の方は行わないでください。)
| CGIを使用して、別のドメインの外部サーバーにあるデータソースにアクセスして、変数を得て、それをFlashムービーに渡す。(この場合、そのCGIとFlashムービーは同じドメイン上になければならない。) | |
| 外部サーバーのDNSエイリアスにFlashムービーが置いてあるサーバーと同じホスト名を設定する。 |
追記:
Flashプレーヤーのバージョン 4.0 r20 から上記のようセキュリティが強化され、それ以前のバージョンと動作が異なりますのでご注意ください。