jQueryに依存しないもの。
判別できる種類とかは増やしていきたいところ。
サンプル:
ソースはこちら↓
var WINDOW_APP = WINDOW_APP || {};
WINDOW_APP.util = {};
/**
* ブラウザ判別
*
*/
WINDOW_APP.util.env = (function () {
var
_isIE = false,
_isIE6 = false,
_isIE7 = false,
_isIE8 = false,
_isIE9 = false,
_isFirefox = false,
_isWebKit = false,
_isSafari = false,
_isChrome = false,
_isOpera = false,
_isSmartPhone = false,
_isIphone = false,
_isIpad = false,
_isIpod = false,
_isAndroid = false,
_ua = navigator.userAgent;
function isIE () {
return _isIE;
}
function isIE6 () {
return _isIE6;
}
function isIE7 () {
return _isIE7;
}
function isIE8 () {
return _isIE8;
}
function isIE9 () {
return _isIE9;
}
function isFirefox () {
return _isFirefox;
}
function isWebKit () {
return _isWebKit;
}
function isSafari () {
return _isSafari;
}
function isChrome () {
return _isChrome;
}
function isOpera () {
return _isOpera;
}
function isSmartPhone () {
return _isSmartPhone;
}
function isIphone () {
return _isIphone;
}
function isIpad () {
return _isIpad;
}
function isIpod () {
return _isIpod;
}
function isAndroid () {
return _isAndroid;
}
/**
* 初期化
*
*/
function _init () {
_isIE = /*@cc_on!@*/false;
if(_isIE) {
if(document.documentMode && document.documentMode >= 8) {
switch (document.documentMode) {
case 9:
_isIE9 = true;
break;
case 8:
_isIE8 = true;
break;
}
}
else if(typeof document.documentElement.style.maxHeight != "undefined") {
_isIE7 = true;
}
else {
_isIE6 = true;
}
}
_isFirefox = Boolean(window.sidebar);
_isOpera = Boolean(window.opera);
_isWebKit = Boolean(!document.uniqueID && !window.opera && !window.sidebar && !window.orientation && window.localStorage);
if(_isWebKit) {
if(navigator.vendor.match(/apple/i)) {
_isSafari = true;
}
else if(navigator.vendor.match(/google/i)) {
_isChrome = true;
}
}
_isSmartPhone = typeof window.orientation != "undefined";
if (_ua.match(/iphone/i)) {
_isIphone = true;
}
if (_ua.match(/ipad/i)) {
_isIpad = true;
}
if (_ua.match(/ipod/i)) {
_isIpod = true;
}
if (_ua.match(/android/i)) {
_isAndroid = true;
}
}
_init();
//public
return {
isIE: isIE,
isIE6: isIE6,
isIE7: isIE7,
isIE8: isIE8,
isIE9: isIE9,
isFirefox: isFirefox,
isWebKit: isWebKit,
isSafari: isSafari,
isChrome: isChrome,
isOpera: isOpera,
isSmartPhone: isSmartPhone,
isIphone: isIphone,
isIpad: isIpad,
isIpod: isIpod,
isAndroid: isAndroid
};
}());
ソース:
env.js
env.min.js(圧縮版)