mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Modify mapper
This commit is contained in:
parent
7704570581
commit
eaacb14ef2
51
ua-parser.js
51
ua-parser.js
@ -8,7 +8,7 @@
|
|||||||
(function (undefined) {
|
(function (undefined) {
|
||||||
var parser = function UAParser (uastring) {
|
var parser = function UAParser (uastring) {
|
||||||
|
|
||||||
var ua = uastring || typeof window !== 'undefined' ? window.navigator.userAgent : "";
|
var ua = uastring || (typeof window !== 'undefined' ? window.navigator.userAgent : "");
|
||||||
|
|
||||||
// regexp mapper
|
// regexp mapper
|
||||||
var regxMap = function (ua) {
|
var regxMap = function (ua) {
|
||||||
@ -46,29 +46,28 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
var mapper = {
|
var mapper = {
|
||||||
os : {
|
check: function(str, map){
|
||||||
win: function (str, match) {
|
for (var i = 0; i < map.length; i++) {
|
||||||
switch (match.toLowerCase()) {
|
if (str.toLowerCase().indexOf(map[i][0]) !== -1) {
|
||||||
case '4.90':
|
return map[i][1];
|
||||||
return 'ME';
|
}
|
||||||
case 'nt3.51':
|
}
|
||||||
return 'NT 3.11';
|
return str;
|
||||||
case 'nt4.0':
|
},
|
||||||
return 'NT 4.0';
|
os : {
|
||||||
case 'nt 5.0':
|
win: function (match, str1) {
|
||||||
return '2000';
|
var map = [
|
||||||
case 'nt 5.1':
|
['4.90', 'ME'],
|
||||||
case 'nt 5.2':
|
['nt3.51', 'NT 3.11'],
|
||||||
return 'XP';
|
['nt4.0', 'NT 4.0'],
|
||||||
case 'nt 6.0':
|
['nt 5.0', '2000'],
|
||||||
return 'Vista';
|
['nt 5.1', 'XP'],
|
||||||
case 'nt 6.1':
|
['nt 5.2', 'XP'],
|
||||||
return '7';
|
['nt 6.0', 'Vista'],
|
||||||
case 'nt 6.2':
|
['nt 6.1', '7'],
|
||||||
return '8';
|
['nt 6.2', '8'],
|
||||||
default:
|
];
|
||||||
return match;
|
return mapper.check(str1, map);
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -130,7 +129,7 @@
|
|||||||
return regxMap(uastring || ua, [
|
return regxMap(uastring || ua, [
|
||||||
|
|
||||||
// Windows based
|
// Windows based
|
||||||
/(windows\sphone\sos|windows)\s?([nt\d\.\s]+\d)*/i // Windows
|
/(windows\sphone\sos|windows)\s?([nt\d\.\s]+\d)/i // Windows
|
||||||
], ['name', ['version', /(.+)/gi, mapper.os.win]], [
|
], ['name', ['version', /(.+)/gi, mapper.os.win]], [
|
||||||
/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i
|
/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i
|
||||||
], [['name', 'Windows'], ['version', /(.+)/gi, mapper.os.win]], [
|
], [['name', 'Windows'], ['version', /(.+)/gi, mapper.os.win]], [
|
||||||
@ -239,4 +238,4 @@
|
|||||||
} else {
|
} else {
|
||||||
this['UAParser'] = parser;
|
this['UAParser'] = parser;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user