Sleipnir のブラウザキャッシュで外部読み込みしている Flash が表示出来なくなる
ちょっとはまったのでメモ。IE,Firefox,Safari では問題なかったので Windows で IE コンポーネントブラウザで起こる問題の可能性アリ。
問題
Flashで外部ファイルをactionscriptから相対パスで読み込んでいるとリロード後に外部ファイルが読み込めなくなる。
原因
ブラウザキャッシュ周りの問題で、Sleipnirでswfをキャッシュすると、本来ならswfからのパスで外部ファイルを読み込みして欲しいところで、swfを表示しているhtmlファイルからのパスで外部ファイルを読み込もうとしてしまう。
IE,Firefox,Safari などのオリジナルで描画エンジン使っているブラウザはswfをキャッシュしても、swfからのパスで読み込んでくれるので問題にはならない。
対策
1, actionscript側で外部ファイルを読み込む時に"http://"から始まるURLで読み込ませる
問題: 作業環境と本番環境でパスを書き換える必要があるので面倒
2, actionscript+javascript側で毎回違うファイルだとブラウザに認識させる
問題: すべてのブラウザでswfのキャッシュが有効にならない
何が良い解決方法なのかわからないので正直誰かFlashの偉い人に教えてもらいたい。