ブラウザを次の2種類に判別できる著作権フリーのJavascriptコードを教えてください。


a→ WindowsのIE5.0以上、Netscape7.0以上のブラウザ

b→ それ 以外のブラウザ
    (MacのIE、Netscape、Safari、WINのIE5.0未満、
     Netscape7.0未満、Opera、Firefoxなど)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:amanoftaste No.1

回答回数42ベストアンサー獲得回数0

ポイント10pt

http://www.keynavi.net/ja/bugh/css_multi.html#ccomments

HTML,CSSバグ&回避法リスト : 5. ブラウザ別にスタイルシートを指定

>残念ながら、Operaの最新版で「Windowsで走っているIE 5.0以上です」と出てしまいます。

条件分岐コメントを使えば、IEだけに見せること

(またはその逆)

ができます。

Javascriptと組み合わせてみてください。

id:MrT No.2

回答回数98ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1111239621#

人力検索はてな - ブラウザを次の2種類に判別できる著作権フリーのJavascriptコードを教えてください。 a→ WindowsのIE5.0以上、Netscape7.0以上のブラウザ b→ それ 以外のブラウザ   ..

URLはダミーです。


1番の方が大筋は書いて下さっているので、Operaに関してのみ言及します。


Operaの判定は、他ブラウザ判定以前に行って下さい。少なくともieの判定以前に、です。Operaはdocument.all が有効になるので。(Opera7以後は常に、Opera6の場合はie詐称モードの時だけですが、document.allは真になります。)

Operaか否かの判定は

  window.opera

を用いて、それが真になれば、Opera、偽になればOpera以外のブラウザです。


後、そちらに必要か否かは不明ですが、Operaのバージョンによる違いは、Ver自体を調べるか、バージョンアップによって追加されたコマンドの真偽確認でできると思います。

後者の方法は、例えば、

 document.plugins

が真ならば、Opera7以降、偽ならば6以前です。

id:Kumappus No.3

回答回数3784ベストアンサー獲得回数185

ポイント25pt

http://www.openspc2.org/kouza_js/070/

メールマガジン「目指せ!ウェブマスター」JavaScript講座

識別はこんな感じです。で、サンプル作ってみました。手元にNN7.0なかったんで検証してみて下さい。

<HTML>

<HEAD>

<TITLE>ブラウザ識別サンプル</TITLE>

</HEAD>

<BODY>

<SCRIPT LANGUAGE=”JavaScript”>

<!--

var a=navigator.appName

var vers = navigator.appVersion.split(”;”);

var user = navigator.userAgent.split(” ”);

switch(a){

case ”Microsoft Internet Explorer”:

var vers2 = vers[1].split(” ”);

var vers3 = vers[2].split(” ”);

if(parseInt(vers2[2])>=5 && vers3[1] == ”Windows”){

//IE 5.0以上でかつWindowsで走っている場合の処理

document.write(”

Windowsで走っているIE 5.0以上です

”);

}else{

document.write(”

想定外のブラウザです

”);

}

break;

case ”Netscape”:

var vers2 = vers[0].split(” ”);

var vers3 = vers2[1].split(”(”);

if(parseInt(vers2[0])>=5.0 && vers3[1] == ”Windows” && user[9].split(”/”)[0]==”Netscape”){

// Netscape 7.0以上でかつWindowsで走っている場合の処理

document.write(”

Windowsで走っているNetscape 7.0以上です

”);

}else{

document.write(”

想定外のブラウザです

”);

}

break;

default:

document.write(”

想定外のブラウザです

”);

}

//-->

</SCRIPT>

</BODY>

</HTML>

id:bourbongum

ありがとうございます。わざわざ作っていただいたみたいで・・・ただ、残念ながら、Operaの最新版で「Windowsで走っているIE 5.0以上です」と出てしまいます。それ以外は正常に動作しました。

2005/03/20 05:29:38
id:sadcns No.4

回答回数53ベストアンサー獲得回数0

ポイント25pt

これでどうでしょう?私も手元にNN7.0ないので検証してみて下さい。

<HTML>

<HEAD>

<TITLE>ブラウザ判定</TITLE>

<SCRIPT language=”JavaScript”>

<!--

ua = 0;

if(navigator.userAgent.indexOf(”Opera”) >= 0){

ua = 2;

}

else if( (navigator.userAgent.indexOf(”MSIE 6.”) >= 0)

&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){

ua = 1;

}

else if( (navigator.userAgent.indexOf(”MSIE 5.”) >= 0)

&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){

ua = 1;

}

else if( (navigator.userAgent.indexOf(”Mozilla/7.”) >= 0)

&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){

ua = 1;

}

else {

ua = 2;

}

//-->

</SCRIPT>

</HEAD>

<BODY>

<SCRIPT language=”JavaScript”>

if(ua == 1) {

document.write(”あなたの使っているブラウザはパターンaです。”);

} else {

document.write(”あなたの使っているブラウザはパターンbです。”);

}

</SCRIPT>

</BODY>

</HTML>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません