- ベストアンサー
ブラウザや閲覧環境によってレイヤーの表示を制御したい
- WinのIE4.0以降とMac環境・WinのIE3.0以前のブラウザを判別し、レイヤーの表示を制御する方法について教えてください。
- 質問者はレイヤーの中にFlashを表示する際に、背景透過効果が反映されない問題に直面しています。具体的には、Mac環境及びWinのIE3.0以前のブラウザではFlashの背景透過効果が表示されないため、レイヤーを非表示にしたいと考えています。
- 質問者はJavaScriptを使用してブラウザとOSのバージョンをチェックし、条件に応じてレイヤーの表示を制御したいと思っています。質問者の要件に合った方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答: 1 こんにちは。 まずコレを、HEAD 内の JavaScript として記入するか、 外部ファイルとして読み込んでください。 ブラウザと OS をチェックします。 var apc=navigator.appCodeName; var apn=navigator.appName; var apv=navigator.appVersion; var ua=navigator.userAgent; var pf=navigator.platform; var vns=apv.substr(0,3); var vnsd=apv.substr(0,4); var B="Unkown"; var P="Unknown"; if((apv.indexOf("Macintosh")>=0)||(apv.indexOf("Mac")>=0)){var P="Mac";} if((apv.indexOf("Windows")>=0)||(apv.indexOf("Win")>=0)){var P="Win";} if((apn=="Microsoft Internet Explorer")&&(ua.indexOf("Opera")<0)&&(document.all)){ var B="IE"; if(ua.indexOf("MSIE 4")>=0){var B="IEv4";} if(ua.indexOf("MSIE 5")>=0){var B="IEv5";} if(ua.indexOf("MSIE 6")>=0){var B="IEv6";} if(ua.indexOf("MSN 6")>=0){var B="MSNv6";} } if((apn=="Netscape")&&(ua.indexOf("Opera")<0)){ var B="NN"; if((vns>=4)&&(vns<5)&&(document.layers)){var B="NNv4";} if((vns>=4.5)&&(vns<4.6)&&(document.layers)){var B="NNv4.5";} if((vns>=4.7)&&(vns<4.8)&&(document.layers)){var B="NNv4.7";} if((vns>=5)&&(vns<6)&&(!document.all&&document.getElementById)){var B="NNv6";} if((vns>=6)&&(vns<8)){var B="NNv7...?";} } if(ua.indexOf("Opera")>=0){ var B="OPERA"; if((ua.indexOf("Opera 6")>=0)||(ua.indexOf("Opera/6")>=0)){var B="OPERAv6";} if((ua.indexOf("Opera 7")>=0)||(ua.indexOf("Opera/7")>=0)){var B="OPERAv7";} } 回答: 2 へ続く
その他の回答 (1)
- yellowocean
- ベストアンサー率60% (3/5)
回答: 2 これは、ブラウザの IE 4.x, IE 5.x, IE 6.x, NN 4.x, NN 4.5x, NN 4.7x, NN 6.x, NN 7.x, Opera 6.x, Opera 7.x のみを明確に検出し、 それ以外のブラウザを Unkown として、無視します。 Unknown でなく Unkown(n をぬいてる) にしてあります。 また、OS は Win か Mac か判別し、そうでなければ Unknown(こちらは n つき) として無視します。 まあ、あまり気にしなくていいです。 さて、処理をします。 回答 3 へ続く
お礼
yellowocean様 正常に動作する事が出来ました!! 本当にありがとうございましたm(__)m