久しぶりに、自分の管理しているThinkQuest@JAPAN 2007受賞作品「幸せを運ぶ鳥~コウノトリ」を見てみたら、最新版のはずのFlash Playerにおいてバージョンエラーが発生しました。
エラーの様子を左上よりFlash Player 7→9
左下より6→10の順で表示
(更新したので現在は右下の10でも正しく表示される)
定期テストなどであまり意識していませんでしたが、最新版のFlash Player 10は10月15日に日本語版の提供が開始されたそうです。
参考:アドビ、「Adobe Flash Player 10」日本語版の無償提供を開始(マイコミジャーナル)
急いでプロジェクトファイルを開いて見てみたところバージョン検出に問題がありました。
このFlashは$version による Flash Player バージョンの検出(記事執筆現在古い情報のまま)を参考にしてバージョン確認をしていました。
細かいことは書きませんが、開始文字番号から指定文字数の文字を切り取るsubstring関数で、1文字分しか取り出していないので、
7→7になりますが、10→1と認識されていたわけです。
そこで、2文字分取り出して、1桁しかない従来バージョンでは「9,」の形で出力されるのでparseIntで数値化して比較することにしました。
といっても、現在の普及率を見てみると(Adobe社資料)Flash Player7以上の普及率はほぼ100%で6以下を未だに使用している人はいないと思われます。
Windows 95でもFlash Player 7が使えますから・・・
6以下のプレーヤーでは正しく表示されないのでこうやって対策していますが、もう使っていないかなとも思ったけどやはり更新しておきました。
しかし、この方法でもFlash Player 99まで有効であって100が出る頃には書き換えが必要です。
いつのことかは分かりませんが・・・
関連記事・トラックバック
調べてみると、この問題について書かれているブログが数多くありました。