• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レイヤーをブラウザや閲覧環境によって表示(実行)非表示(実行しない)したい)

ブラウザや閲覧環境によってレイヤーの表示を制御したい

このQ&Aのポイント
  • WinのIE4.0以降とMac環境・WinのIE3.0以前のブラウザを判別し、レイヤーの表示を制御する方法について教えてください。
  • 質問者はレイヤーの中にFlashを表示する際に、背景透過効果が反映されない問題に直面しています。具体的には、Mac環境及びWinのIE3.0以前のブラウザではFlashの背景透過効果が表示されないため、レイヤーを非表示にしたいと考えています。
  • 質問者はJavaScriptを使用してブラウザとOSのバージョンをチェックし、条件に応じてレイヤーの表示を制御したいと思っています。質問者の要件に合った方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

回答: 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 へ続く

idea_m
質問者

お礼

yellowocean様 正常に動作する事が出来ました!! 本当にありがとうございましたm(__)m

その他の回答 (1)

回答No.2

回答: 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 へ続く