人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: bourbongum
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:firefox IE JavaScript Mac Netscape
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● amanoftaste
●10ポイント

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

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

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

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

(またはその逆)

ができます。

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


2 ● MrT
●10ポイント

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以前です。


3 ● くまっぷす
●25ポイント

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>

◎質問者からの返答

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


4 ● sadcns
●25ポイント

http://www.futomi.com/lecture/env_var/http_user_agent.html

これでどうでしょう?私も手元に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>

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ