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 = {
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;
} }
})(); })();