FlashPlayer10のバージョンチェックの落とし穴
FlashPlayer10がリリースされ、パフォーマンスや新機能に注目があつまっています。
同時にメジャーバージョンアップに伴い、過去の案件への対応が必要になってくるケースも多いようです。
- 「Flash Player 10とバージョン判定」
- Web制作者がFlashPlayer10がリリースされるまでにチェックしておいたほうがいいこと
- Flashのバージョンチェック
- Flash Player 10 正式リリースによる弊害 : Flash Player バージョンチェック
上記の記事によると、バージョンの桁数が2桁になることで、バージョンを文字列で解釈するコードがうまくいかなくなるようです。
特にAS1時代の古いコードは要注意ですね。きちんとsplit(".")したうえでNumberへキャストしてから判定するか、ll_koba_llさんが書いてるようにflash.system.Capabilities.version
を利用しましょう。
このような書き方は古い慣例みたいなものですので、キャンペーンサイトなど寿命の短い(最近制作された)ものはあまりないかもしれませんが、自社サービス関係や広告バナーなどはAS1,2時代のものもすくなくありませんので、弊社でも対応を急いでいます。
ASだけじゃなくてJSでも起こります。
さらに注意が必要なのはActiveX問題において、JSによるObject要素の書き出しなどしているケースです。
AS1ほどではないかもしれませんが、ASと同様にJS側で文字列による判定しているものがあれば不具合が起こります。
これも最近のライブラリを用いたものよりも、ブログパーツのJSや古いコードは自前で簡易にチェックしているケースがありそうです。
動かない理由はFlashだけではありませんので、あわせて確認事項に入れましょう。(Flashのせいだとか揉めないためにも)
その他の理由で動かない場合
セキュリティーポリシーやAPIのアップデートによる不具合もないとはいえないので引き続き調査します。
ひとまずは過去に制作したものはひととおり目視したほうがよさそうです。