Modify mapper

This commit is contained in:
Faisal Salman 2012-09-13 21:22:00 +07:00
parent 7704570581
commit eaacb14ef2

View File

@ -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 = {
check: function(str, map){
for (var i = 0; i < map.length; i++) {
if (str.toLowerCase().indexOf(map[i][0]) !== -1) {
return map[i][1];
}
}
return str;
},
os : { os : {
win: function (str, match) { win: function (match, str1) {
switch (match.toLowerCase()) { var map = [
case '4.90': ['4.90', 'ME'],
return 'ME'; ['nt3.51', 'NT 3.11'],
case 'nt3.51': ['nt4.0', 'NT 4.0'],
return 'NT 3.11'; ['nt 5.0', '2000'],
case 'nt4.0': ['nt 5.1', 'XP'],
return 'NT 4.0'; ['nt 5.2', 'XP'],
case 'nt 5.0': ['nt 6.0', 'Vista'],
return '2000'; ['nt 6.1', '7'],
case 'nt 5.1': ['nt 6.2', '8'],
case 'nt 5.2': ];
return 'XP'; return mapper.check(str1, map);
case 'nt 6.0':
return 'Vista';
case 'nt 6.1':
return '7';
case 'nt 6.2':
return '8';
default:
return match;
};
} }
} }
}; };
@ -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]], [