SWFObjectを使用していてFlashが見れない件
スポンサード リンク“Windows Update をしたらFlashがみれなくなった”
とか、
“最新版のFlashPlayerを入れたのにみれない”
とかの件。
SWFObject + IE6 IE7にての現象。
SWFObject内でのFlashPlayerのバージョン判定で、
問題のある環境だと、FlashPlayerがインストールされているのにもかかわらず
FlashPlayerのバージョン値が取れず(JSからインストールが確認できず)
インストールが無いものと認識してしまうためのよう。
“問題のある環境”とは
こちらのページ IE7でswfobjectが動作しない件 で紹介されています。
Playerの判別をせず、単純にEMBEDしてしまえば見れるようだけど…
いろいろ判別はしたい。
また、完全にアンインストールするというのが解決策のようだけど
ちょっとコレは一般ユーザ厳しすぎるよね;;
問題は、”Flashが本当にインストールされていないユーザ”なのか、
それとも、”この問題の環境”なのかの切り分けがでいない?ところ….
ただ、IE限定で起こるということでとりあえず以下の策を。
現状、Swfobjectを使って
・Javascriptが有効でないブラウザにメッセージを表示
・Flashのインストールが無い場合メッセージを表示
・Flashが古い場合、ExpressInstall画面へ
の切り分けををすべてのブラウザに対して行っているけど
IEだけ
・Flashのインストールが無い場合メッセージを表示
することを、あきらめる。ということにして
SWFObjectを書き換える。
ちなみにSWFObject v2.0 rc3 の場合の例です。
var ua = function() … 内の
playerVersion = [0,0,0];
の行を
playerVersion = /*@cc_on!@*/false ? [9,0,45] : [0,0,0];
に変更。
9,0,45 の部分は、再生可能対象としたいFlashPlayerのバージョン以上を書く
※ごにゅごにょは、IEかどうかの判定 参照コチラ
一応こうすることで、IE以外への余計な影響はなくせ、
IEでも古いバージョンのPlayerへのアテンション対応はできるし
また、FlashPlayerのインストールが無い環境でも、SWFObjectがFlashの貼り付けタグを吐くので
おなじみの黄色いバーやインスコしますか?画面はでるハズ
>> Nintendo Wii ストア








コメントをどうぞ