var GTS = 0, INO = 0, NCF = 0, EXC = 1; function Brws(nav) { this.check = 0; if (!nav) return this; var t = this, navAge = nav.userAgent.toLowerCase(); t.win = strSearch(navAge, "win"); //Windows? t.mac = strSearch(navAge, "mac"); //Mac? t.unix = strSearch(navAge, "x11"); //UNIX? t.IE = 0, t.NN = 0, t.OP = 0; //初期値を入れないと数値比較でNN3がエラー if (window.opera) { t.ver = parseFloat(navAge.substr(navAge.indexOf("opera") +6, 3)) *10; t.OP = t.ver; } else if (nav.appName == "Microsoft Internet Explorer") { if (document.all) { t.ver = parseFloat(navAge.substr(navAge.indexOf("msie ") +5, 3)) *10; } else { t.ver = 30; //IE3は外部スクリプトに対応してないのだが } t.IE = t.ver; } else if (nav.appName == "Netscape") { if (nav.product && nav.product == "Gecko") { //nav.productはNN3対策 var r = new RegExp("[6-9]\\.\\d"); //短縮構文だとNN3でエラー t.ver = parseFloat(navAge.match(r)) *10; } else if (document.layers) { t.ver = parseFloat(nav.appVersion.substr(0, 3)) *10; } else { t.ver = parseInt(nav.appVersion.substring(0, 4)) *10; //parseFloatだとNN3で正確な値を得られず } t.NN = t.ver; } if (t.IE) { t.IE40 = t.IE >= 40; t.IE50 = t.IE >= 50; t.IE55 = t.IE >= 55; //IE5.5だったらt.IE40, t.IE50, t.IE55がtrueに("IE5以降で実行"で判別する時用) t.IE60 = t.IE >= 60; t["isIE" + t.ver] = 1; //IE5.5だったらbrws.isIE55が1に("IE5.5のみで実行"で判別する時用) } else if (t.NN) { t.NN30 = t.NN >= 30; t.NN40 = t.NN >= 40; t.NN47 = t.NN >= 47; t.NN60 = t.NN >= 60; t.NN70 = t.NN >= 70; t["isNN" + t.ver] = 1; } else if (t.OP) { t.OP60 = t.OP >= 60; t.OP70 = t.OP >= 70; t["isOP" + t.ver] = 1; } //デフォルトのマーキングレベル if ((t.IE55 && t.win) || t.NN60) { t.mlv = 3; EXC = 0; INO = 1; GTS = 1;} else if (t.OP70) { t.mlv = 2; EXC = 0; INO = 1;} else if (t.IE40 || t.NN47 || t.OP60) { t.mlv = 1; EXC = 0; NCF = 1;} else { t.mlv = 0; EXC = 1;} return t; } new Brws(); //一度コンストラクタを起動しておく(NN3のバグ対策) var brws = new Brws(navigator);