SWFObject (1.5と2.0)のFlash Playerバージョンチェック注意
January 30, 2008
SWFObjectではユーザーのFlash Playerのバージョンをチェックし、指定したバージョンより低いバージョンがインストールされている場合は代替コンテンツを表示する。
次のコードはSWFObjectの1.5と2.0でそれぞれ、Flash Playerのバージョンチェックに9.0.45を指定している。
SWFObject v1.5
var so = new SWFObject('example.swf', 'movieID', '100%', '100%', '9.0.45');
SWFObject v2.0
swfobject.embedSWF('example.swf?', 'index', '100%', '100%', '9.0.45');
この場合、ユーザーのFlash Playerのバージョンが『9.0.45』未満のときは、代替コンテンツが表示される。
僕がテストに使ったMacにインストールされているFlash Playerのバージョンが9.0.115。
したがって、『9.0.115』は『9.0.45』よりバージョンが上なので、問題なくFlashコンテンツが表示されるはずだ。ところが、代替コンテンツが表示されてしまった。
そこで、SWFObject内ではバージョンの判定を二桁で判定しているんじゃないかと予想。つまり、インストールされているのは9.0.115だけど、9.0.11もしくは9.0.15として処理しているんだと思い、実験してみた。
| インストール済バージョン | バージョンチェックに指定 | 結果 |
| 9.0.115 | 9.0.10 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.11 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.12 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.13 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.14 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.15 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.16 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.17 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.18 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.19 | Flashコンテンツが表示される |
| 9.0.115 | 9.0.20 | 代替コンテンツが表示される |
予想と違った。
インストールされているFlash Playerのバージョンを二桁(先頭二桁の『11』か末尾二桁の『15』)で判定していると予想していたので、代替コンテンツ表示の境目はバージョンチェックに『9.0.12』か『9.0.16』を指定した時になるのかと思っていた。
実際は『9.0.20』。
SWFObjectの中身までは見ていないけど、とりあえず注意。
タグ:
Trackback
Trackback URL for this entry:


















