javascript判定別ブラウザ
6578 ワード
他に方法がない以外は、navigator.userAgentを使ってブラウザを判定しません.第一次ブラウザ大戦の初期において、Netscapeは絶対的な統計的地位を占めていたので、大部分の人々は他のブラウザとの互換性を望まず、UAを検出することによって彼らのウェブサイトにNetscapeのみアクセスを許可させ、他のブラウザ(IEを含む)に自分のUAをNetscapeに変装させて、独善的なシナリオを通して、そこで、誰もが自分は他人だと主張する場面が現れ、最新のIE 9のUAであっても、
isMobile=isIOS𞓜isAndroid;
//Mozilla/
4.0
(compatible; MSIE
7.0
; Windows NT
6.0
; Trident/
5.0
)
//
2010
4
16
ie = !+
"\v1"
;
ie = !-[
1
,];//IE
9
ie =
'\v'
==
'v'
;
ie = !!document.recalc
ie = !!window.VBArray
ie = !!window.ActiveXObject
ie =
0
//@cc_on+
1
;
ie = !!window.createPopup;
ie =
/*@cc_on!@*/
!
1
;
ie = document.expando;//document.
all
opera firefox
ie = /\w/.test(
'\u0130'
) // abcd
ie
6
= !
"1"
[
0
] // IE
6
IE
5
ie
8
= !!window.XDomainRequest;
ie
9
= document.documentMode && document.documentMode ===
9
;
// , ,IE JS , IE
0
var ieVersion = eval(
"''+/*@cc_on"
+
" @_jscript_version@*/-0"
)*
1
ie
9
= ieVersion ===
5.9
ie
8
= ieVersion ===
5.8
ie
7
= ieVersion ===
5.7
ie
6
= ieVersion ===
5.6
ie
5
= ieVersion ===
5.5
//https://developer.mozilla.org/En/Windows_メディア Netscape
netscape = !!window.GeckoActiveXObject
gecko = !!window.netscape // firefox
firefox = !!window.Components
firefox = !!window.updateCommands
safari = !!(navigator.vendor && navigator.vendor.match(/Apple/))
safari = window.openDatabase && !window.chrome;
chrome= !!(window.chrome && window.google)
opera=!!window.opera ;
//
2
3
maxthon = /maxthon/i.test(navigator.userAgent)
//
360
is
360
se = /
360
se/i.test(navigator.userAgent)
//
2010.6
.
4
setTimeout(function(){//FF setTimeout
0
var isFF = !!arguments.length;
alert(isFF)
},
0
);
// IE
2010.10
.
1
ie = (function(undefined){
var v =
3
, div = document.createElement(
'div'
);
while (
div.innerHTML =
'<!--[if gt IE '
+(++v)+
']><i></i><![endif]-->'
,
div.getElementsByTagName(
'i'
)[
0
]);
return v>
4
? v : undefined;
}());
// IE
2011.2
.
24
ie = (function() {
var v =
3
, div = document.createElement(
'div'
), a = div.
all
|| [];
while (div.innerHTML =
'<!--[if gt IE '
+(++v)+
']><br><![endif]-->'
, a[
0
]);
return v >
4
? v : !v;
}());
//
2011.9
.
21
isIPhone = /iPhone/i.test(navigator.userAgent);
isIPhone
4
= window.devicePixelRatio >=
2
// ,pixel point device-pixel-ratio,
1
,iPhone
4
2
, Android
1.5
//http://blog.webcreativepark.net/
2011
/
01
/
25
-173502
.html
isIPad = /iPad/i.test(navigator.userAgent);
isAndroid = /android/i.test(navigator.userAgent);
isIOS = isIPhone || isIPad ;
isMobile=isIOS𞓜isAndroid;