ブラウザ名を取得する


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - - -
Macintosh - - -
UNIX - - - - - - - -
Dreamcast - - - - - - - - - - -

ポイント aName = navigator.appName.toUpperCase(); appVer = navigator.appVersion; if (aName.indexOf("NETSCAPE") >= 0) { s = appVer.indexOf(" ",0); version = eval(appVer.substring(0,s)); if (version >= 5) version++; } if (aName.indexOf("MICROSOFT") >= 0) { appVer = navigator.userAgent; s = appVer.indexOf("MSIE ",0) + 5; e = appVer.indexOf(";",s); version = eval(appVer.substring(s,e)); }
説  明 バージョンはnavigatorオブジェクトのappVersionに入っています。しかし正しいバージョンを返すのはNetscape 6以前のNetscape 4.xまでです。Netscape 6はバージョン5を返すため1加算して処理します。Explorerの場合はuserAgent内に記述されているためMSIEの文字を検索し、その後に続けて記述してある文字列を取り出してバージョンを取得します。
サンプル <html> <head> <title>ブラウザバージョンを取得する</title> <script Language="JavaScript"><!-- function getBrowserVersion() { str = navigator.appName.toUpperCase(); version = 0; appVer = navigator.appVersion; if (str.indexOf("NETSCAPE") >= 0) { s = appVer.indexOf(" ",0); version = eval(appVer.substring(0,s)); if (version >= 5) version++; } if (str.indexOf("MICROSOFT") >= 0) { appVer = navigator.userAgent; s = appVer.indexOf("MSIE ",0) + 5; e = appVer.indexOf(";",s); version = eval(appVer.substring(s,e)); } return version; } // --></script> <body> <a href="javaScript:alert(getBrowserVersion())">ブラウザバージョンチェック</a> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA