ブラウザのバージョンなどの情報を取得する |
|||||||||||||||||||||||||||||
「あなたのブラウザは です」と表示するHPにたまに出会います。ブラウザに関する情報はnavigatorオブジェクトのプロパティに格納されています。 navigatorオブジェクトのプロパティ一覧表示navigatorオブジェクトのプロパティ一覧は次のプログラムで表示できます。 <SCRIPT language="JavaScript"> for(i in navigator){ document.write(i,"<BR>"); } </SCRIPT> プロパティ数はブラウザの種類で次の表のように異なります。
次に各プロパティの値は次のプログラムで表示できます。 <SCRIPT language="JavaScript"> for(i in navigator){ document.write(i," = ",navigator[i],"<BR>"); } </SCRIPT> ブラウザ名とバージョンを表示する。ブラウザ名はappName、バージョンはappVersionの各プロパティの値を表示すればいいので次のようなプログラムを表示したい部分に入力します。
ブラウザのバージョンによりページの表示を変える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";
|
|
||||||||||||||||||||||||||||