久し振りに画像アップロードしようとして気が付いたんだが…
FlashPlayer10になってからJavaScript経由でFlashのファイル参照ダイアログ呼び出しができなくなってる…!
このサイトの作成ツールは複数ファイルのアップロードを簡便化するためにFlashを活用しているのだが、それが動作しなくなってたんすよ!
調べてみたら、その筋では既知の問題だったらしく、あっさりと原因が判明しました。
セキュリティ上の問題からの仕様変更だそうで、Flashのファイル選択ダイアログはユーザのクリック等によるアクションがトリガである場合のみ呼び出すことができるよう仕様が変更されたそうです。
当サイトではJavaScriptから直接呼び出していた為、この仕様変更にモロにキタわけですな。
対応方法は、トリガとなるユーザアクションがFlash上で発生するように変更する。
具体的には、うちのサイトを例にすると、今までHTML上で書いていた【参照】ボタンをFlash上に置きかえることで対応可能。
…やっぱりバージョン変更は恐ろしいっす。
Flashで遊ぶ
◆XMLConnector
サーバとの連携にXMLを採用しようと考えたわけですよ。
そしたらチョード良く、XMLConnectorなるコンポーネントが既に用意されているというではないですか。
サーバ側にHTTPのGETやらPOSTやらでリクエストを投げて結果を受け取る仕組みはあるようなので、後はXMLを返すプログラムを用意すればいいんですね。
すっごい簡単すね。
ちゅーわけで、さっそくXMLのフォーマット定義から初めて、Flashの作成、サーバサイドプログラムの作成…
なんと総作業時間15分!
…挫折しました。だって、なんかFlashからリクエストが飛ばないんだもん…
ちゃんとリクエスト発行イベントを呼び出してるはずなんだけどなぁ。
潔い俺はPS3の電源を入れましたよ。