-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathjquery.browser.js
70 lines (66 loc) · 2.68 KB
/
jquery.browser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
;(function($) {
$.browser = {};
$.browser.mozilla = false;
$.browser.webkit = false;
$.browser.opera = false;
$.browser.msie = false;
var nAgt = navigator.userAgent;
$.browser.name = navigator.appName;
$.browser.fullVersion = '' + parseFloat(navigator.appVersion);
$.browser.majorVersion = parseInt(navigator.appVersion, 10);
var nameOffset, verOffset, ix;
// In Opera, the true version is after "Opera" or after "Version"
if ((verOffset = nAgt.indexOf("Opera")) != -1) {
$.browser.opera = true;
$.browser.name = "Opera";
$.browser.fullVersion = nAgt.substring(verOffset + 6);
if ((verOffset = nAgt.indexOf("Version")) != -1)
$.browser.fullVersion = nAgt.substring(verOffset + 8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
$.browser.msie = true;
$.browser.name = "Microsoft Internet Explorer";
$.browser.fullVersion = nAgt.substring(verOffset + 5);
}
// In Chrome, the true version is after "Chrome"
else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
$.browser.webkit = true;
$.browser.name = "Chrome";
$.browser.fullVersion = nAgt.substring(verOffset + 7);
}
// In Safari, the true version is after "Safari" or after "Version"
else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
$.browser.webkit = true;
$.browser.name = "Safari";
$.browser.fullVersion = nAgt.substring(verOffset + 7);
if ((verOffset = nAgt.indexOf("Version")) != -1)
$.browser.fullVersion = nAgt.substring(verOffset + 8);
}
// In Firefox, the true version is after "Firefox"
else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
$.browser.mozilla = true;
$.browser.name = "Firefox";
$.browser.fullVersion = nAgt.substring(verOffset + 8);
}
// In most other browsers, "name/version" is at the end of userAgent
else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) <
(verOffset = nAgt.lastIndexOf('/'))) {
$.browser.name = nAgt.substring(nameOffset, verOffset);
$.browser.fullVersion = nAgt.substring(verOffset + 1);
if ($.browser.name.toLowerCase() == $.browser.name.toUpperCase()) {
$.browser.name = navigator.appName;
}
}
// trim the fullVersion string at semicolon/space if present
if ((ix = $.browser.fullVersion.indexOf(";")) != -1)
$.browser.fullVersion = $.browser.fullVersion.substring(0, ix);
if ((ix = $.browser.fullVersion.indexOf(" ")) != -1)
$.browser.fullVersion = $.browser.fullVersion.substring(0, ix);
$.browser.majorVersion = parseInt('' + $.browser.fullVersion, 10);
if (isNaN($.browser.majorVersion)) {
$.browser.fullVersion = '' + parseFloat(navigator.appVersion);
$.browser.majorVersion = parseInt(navigator.appVersion, 10);
}
$.browser.version = $.browser.majorVersion;
})(jQuery);