ブラウザのバージョンなどの情報を取得する

   

「あなたのブラウザは です」と表示するHPにたまに出会います。ブラウザに関する情報はnavigatorオブジェクトのプロパティに格納されています。

navigatorオブジェクトのプロパティ一覧表示

navigatorオブジェクトのプロパティ一覧は次のプログラムで表示できます。

<SCRIPT language="JavaScript">
  for(i in navigator){
    document.write(i,"<BR>");
  }
</SCRIPT>

プロパティ数はブラウザの種類で次の表のように異なります。

IE5.01 IE6 NS4.73 NN6.01 mozilla0.9.2
appCodeName
appMinorVersion
appName
appVersion
cookieEnabled
cpuClass
mimeTypes
onLine
opsProfile
platform
plugins
systemLanguage
userAgent
userLanguage
userProfile
appCodeName
appName
appMinorVersion
cpuClass
platform
plugins
opsProfile
userProfile
systemLanguage
userLanguage
appVersion
userAgent
onLine
cookieEnabled
mimeTypes
userAgent
appCodeName
appVersion
appName
language
platform
securityPolicy
plugins
mimeTypes
appCodeName
appName
appVersion
language
mimeTypes
platform
oscpu
vendor
vendorSub
product
productSub
plugins
securityPolicy
userAgent
cookieEnabled
appCodeName
appName
appVersion
language
mimeTypes
platform
oscpu
vendor
vendorSub
product
productSub
plugins
securityPolicy
userAgent
cookieEnabled
javaEnabled
taintEnabled
preference

次に各プロパティの値は次のプログラムで表示できます。

<SCRIPT language="JavaScript">
  for(i in navigator){
    document.write(i," = ",navigator[i],"<BR>");
  }
</SCRIPT>

ブラウザ名とバージョンを表示する。

ブラウザ名はappName、バージョンはappVersionの各プロパティの値を表示すればいいので次のようなプログラムを表示したい部分に入力します。

ブラウザ名の表示
<SCRIPT language="JavaScript">
  document.write(navigator.appName);
</SCRIPT>
ブラウザバージョンの表示
<SCRIPT language="JavaScript">
  document.write(navigator.appVersion);
</SCRIPT>

サンプル

ブラウザのバージョンによりページの表示を変える

IE5、NN6とNN4ではCSSの実装が異なるのでページの表示が同じにならない。そこでブラウザごとのページを用意しておき、それらをappNameプロパティの値を調べて切り替える。

プログラムは次のとおりです。このサンプルを表示する。

<HTML>
<HEAD>
<TITLE></TITLE>

<SCRIPT language="JavaScript">
<!--
var NN6 = 0, IE5 = 0, IE6 = 0;
var AgentName = navigator.userAgent;

NN6 = AgentName.indexOf("Netscape6",0);
IE5 = AgentName.indexOf("MSIE 5",0);
IE6 = AgentName.indexOf("MSIE 6",0);

if (NN6 >= 0) location.href="nn6.html";
if (IE5 >= 0) location.href="ie5.html";
if (IE6 >= 0) location.href="ie6.html";
//-->
</SCRIPT>

</HEAD>
<BODY bgcolor="#FFFFFF">
<H1>NN4 or IE4です</H1>
</BODY>
</HTML>

ブラウザの名前はappVersionプロパティあるいはuserAgentプロパティで調べられる。ここではuserAgentプロパティを使い、その値を変数AgentNameに代入している。

var AgentName = navigator.userAgent;

次に、変数AgentNameにブラウザ名を示す文字があるかを検索します。ここではindexOfメソッドを使います。このメソッドは最初の引数の文字列が左側の指定した位置から検索します。このメソッドは検索文字列が見つかればその位置を、見つからないときは-1を返します。

NN6 = AgentName.indexOf("Netscape6",0);

つぎに各変数の値が0以上かを調べ、0以上なら指定したHTML文書を読み込ませる(if文を使う)。JavaScriptからlocation.hrefプロパティに表示したいHTML文書のURLを代入するとブラウザは即座にそのURLのページを表示する。

if (NN6 >= 0) location.href="nn6.html";

 

 
どこに書く
Hello World!
計算してみよう
時間を取得する
情報を取得する
カレンダー
画像を入れ替え
移動する段落
プルダウンメニューのアンカー