diff --git a/src/ua-parser.js b/src/ua-parser.js index 43f395a..f61ca15 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -66,7 +66,7 @@ return str.toLowerCase(); }, major : function (version) { - return typeof(version) === STR_TYPE ? version.split(".")[0] : undefined; + return typeof(version) === STR_TYPE ? version.replace(/[^\d\.]/g,'').split(".")[0] : undefined; }, trim : function (str) { return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); @@ -275,6 +275,9 @@ /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon ], [[NAME, /_/g, ' '], VERSION], [ + /\swv\).+(chrome)\/([\w\.]+)/i // Chrome WebView + ], [NAME, [VERSION, /(.+)/, 'WebView $1']], [ + /(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia ], [NAME, VERSION], [ diff --git a/test/browser-test.json b/test/browser-test.json index 68ad90b..cd23f64 100644 --- a/test/browser-test.json +++ b/test/browser-test.json @@ -89,6 +89,16 @@ "major" : "20" } }, + { + "desc" : "Chrome WebView", + "ua" : "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36", + "expect" : + { + "name" : "Chrome", + "version" : "WebView 43.0.2357.65", + "major" : "43" + } + }, { "desc" : "Chrome on iOS", "ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3",