目次

オブジェクトなJavaScriptの基礎講座

ゲットUAオブジェクト

◆ はじめに

UA(ブラウザ)の種類やそれぞれのバージョン毎に、いろいろと違ったことをしたい場合があると思います。

そこで、これらを判別する『ゲットUAオブジェクト』を作ってみました。

◆ ゲットUAオブジェクト

<script type="text/javascript">
function getUA() {
	getUA.strings = navigator.userAgent;
	getUA.IE50 = (getUA.strings.indexOf('MSIE 5.0') > -1);
	getUA.IE55 = (getUA.strings.indexOf('MSIE 5.5') > -1);
	getUA.IE60 = (getUA.strings.indexOf('MSIE 6.0') > -1);
	getUA.NN4x = (document.layers)? true : false;
	getUA.NN60 = (getUA.strings.indexOf('Netscape6/6.0') > -1);
	getUA.NN61 = (getUA.strings.indexOf('Netscape6/6.1') > -1);
	getUA.NN62 = (getUA.strings.indexOf('Netscape6/6.2') > -1);
	getUA.NN7x = (getUA.strings.indexOf('Netscape/7') > -1);
	getUA.OP60 = (getUA.strings.indexOf('Opera 6.0') > -1);
	getUA.OP70 = (getUA.strings.indexOf('Opera 7.0') > -1);
	if (getUA.OP60 || getUA.OP70) getUA.IE50 = getUA.IE55 = getUA.IE60 = false; 

	getUA.type = 'other';
	if(getUA.IE50 == true) getUA.type="IE50";
	if(getUA.IE55 == true) getUA.type="IE55";
	if(getUA.IE60 == true) getUA.type="IE60";
	if(getUA.NN4x == true) getUA.type="NN4x";
	if(getUA.NN60 == true) getUA.type="NN60";
	if(getUA.NN61 == true) getUA.type="NN61";
	if(getUA.NN62 == true) getUA.type="NN62";
	if(getUA.NN7x == true) getUA.type="NN7x";
	if(getUA.OP60 == true) getUA.type="OP60";
	if(getUA.OP70 == true) getUA.type="OP70";

	getUA.WIN  = (getUA.strings.indexOf("Win") > -1);
	getUA.MAC  = (getUA.strings.indexOf("Mac") > -1);

	getUA.os = 'other';
	if(getUA.WIN == true) getUA.os="WIN";
	if(getUA.MAC == true) getUA.os="MAC";
} new getUA();


//---------使用例----------
alert(getUA.type);
alert("IE50 " + getUA.IE50);
alert("IE55 " + getUA.IE55);
alert("IE60 " + getUA.IE60);
alert("NN4x " + getUA.NN4x);
alert("NN60 " + getUA.NN60);
alert("NN61 " + getUA.NN61);
alert("NN62 " + getUA.NN62);
alert("OP60 " + getUA.OP60);
alert(getUA.os);
alert("WIN " + getUA.WIN);
alert("MAC " + getUA.MAC);
</script>

説明

以下の通りです。

尚、navigator.userAgentに詳しいUA情報が格納されている。また、indexOf(引数)関数は、引数の文字列が存在した場合は0以上の値を返します。

サンプル

以下をクリックしてください。

t207091.htm

目次