Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

detector

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

detector - npm Package Compare versions

Comparing version 2.3.0 to 2.4.0

.eslintrc

89

detector.js

@@ -20,5 +20,7 @@

}
function each(object, factory, argument){
for(var i=0,b,l=object.length; i<l; i++){
if(factory.call(object, object[i], i) === false){break;}
function each(object, factory){
for(var i = 0, l = object.length; i < l; i++){
if(factory.call(object, object[i], i) === false){
break;
}
}

@@ -62,3 +64,3 @@ }

// 红米
['hongmi', /\bhm[ \-]?([a-z0-9]+)/],
["hongmi", /\bhm[ \-]?([a-z0-9]+)/],
["aliyun", /\baliyunos\b(?:[\-](\d+))?/],

@@ -69,3 +71,3 @@ ["meizu", function(ua) {

:
/\bm([0-9x]{1,3})\b/
/\bm([0-9x]{1,3})\b/;
}],

@@ -118,3 +120,3 @@ ["nexus", /\bnexus ([0-9s.]+)/],

return "bb10";
}]
}],
];

@@ -168,3 +170,3 @@

return m ? {version: m[1]} : "blackberry";
}]
}],
];

@@ -176,8 +178,7 @@

function IEMode(ua){
if(!re_msie.test(ua)){return null;}
if(!re_msie.test(ua)){ return null; }
var m,
engineMode, engineVersion,
browserMode, browserVersion,
compatible=false;
browserMode, browserVersion;

@@ -188,3 +189,3 @@ // IE8 及其以上提供有 Trident 信息,

m = /\btrident\/([0-9.]+)/.exec(ua);
if(m && m.length>=2){
if (m && m.length >= 2) {
// 真实引擎版本。

@@ -201,3 +202,3 @@ engineVersion = m[1];

var v_mode = m[1].split(".");
if("undefined" === typeof browserVersion){
if (typeof browserVersion === "undefined") {
browserVersion = browserMode;

@@ -207,3 +208,3 @@ }

engineMode = v_mode.join(".");
if("undefined" === typeof engineVersion){
if (typeof engineVersion === "undefined") {
engineVersion = engineMode;

@@ -217,3 +218,3 @@ }

engineMode: engineMode,
compatible: engineVersion !== engineMode
compatible: engineVersion !== engineMode,
};

@@ -226,3 +227,3 @@ }

function checkTW360External(key){
if(!external){return;} // return undefined.
if(!external){ return; } // return undefined.
try{

@@ -238,5 +239,5 @@ // 360安装路径:

if(runpath && runpath.indexOf(key) === -1){return false;}
if(version){return {version: version};}
}catch(ex){}
if (runpath && runpath.indexOf(key) === -1) { return false; }
if (version){return {version: version}; }
}catch(ex){ /* */ }
}

@@ -247,3 +248,3 @@

["trident", re_msie],
["blink", function(ua){
["blink", function(){
return "chrome" in win && "CSS" in win && /\bapplewebkit[\/]?([0-9.+]+)/;

@@ -254,6 +255,6 @@ }],

var match;
if (match = ua.match(/\brv:([\d\w.]+).*\bgecko\/(\d+)/)) {
if ((match = ua.match(/\brv:([\d\w.]+).*\bgecko\/(\d+)/))) {
return {
version: match[1] + "." + match[2]
}
version: match[1] + "." + match[2],
};
}

@@ -265,3 +266,3 @@ }],

["u2", /\bu2\/([0-9.]+)/],
["u3", /\bu3\/([0-9.]+)/]
["u3", /\bu3\/([0-9.]+)/],
];

@@ -274,3 +275,3 @@ var BROWSER = [

if (ua.indexOf("sogoumobilebrowser") >= 0) {
return /sogoumobilebrowser\/([0-9.]+)/
return /sogoumobilebrowser\/([0-9.]+)/;
} else if (ua.indexOf("sogoumse") >= 0){

@@ -285,5 +286,5 @@ return true;

// TheWorld 的 UA 比 360 更靠谱,所有将 TheWorld 的规则放置到 360 之前。
["theworld", function(ua){
["theworld", function(){
var x = checkTW360External("theworld");
if(typeof x !== "undefined"){return x;}
if(typeof x !== "undefined"){ return x; }
return "theworld";

@@ -294,3 +295,3 @@ }],

var x = checkTW360External("360se");
if(typeof x !== "undefined"){return x;}
if(typeof x !== "undefined"){ return x; }
if(ua.indexOf("360 aphone browser") !== -1){

@@ -302,10 +303,10 @@ return /\b360 aphone browser \(([^\)]+)\)/;

// Maxthon
["maxthon", function(ua){
["maxthon", function(){
try{
if(external && (external.mxVersion || external.max_version)){
return {
version: external.mxVersion || external.max_version
version: external.mxVersion || external.max_version,
};
}
}catch(ex){}
}catch(ex){ /* */ }
return /\b(?:maxthon|mxbrowser)(?:[ \/]([0-9.]+))?/;

@@ -320,3 +321,3 @@ }],

}
if(ua.indexOf("lbbrowser") === -1){return false;}
if(ua.indexOf("lbbrowser") === -1){ return false; }
var version;

@@ -327,5 +328,5 @@ try{

}
}catch(ex){}
}catch(ex){ /* */ }
return {
version: version || NA_VERSION
version: version || NA_VERSION,
};

@@ -386,6 +387,7 @@ }],

}],
["micromessenger", /\bmicromessenger\/([\d.]+)/],
["chrome", / (?:chrome|crios|crmo)\/([0-9.]+)/],
// Android 默认浏览器。该规则需要在 safari 之前。
["android", function(ua){
if(ua.indexOf("android") === -1){return;}
if(ua.indexOf("android") === -1){ return; }
return /\bversion\/([0-9.]+(?: beta)?)/;

@@ -403,3 +405,3 @@ }],

["firefox", /\bfirefox\/([0-9.ab]+)/],
["nokia", /\bnokiabrowser\/([0-9.]+)/]
["nokia", /\bnokiabrowser\/([0-9.]+)/],
];

@@ -414,7 +416,7 @@

var expr = isFunction(expression) ? expression.call(null, ua) : expression;
if(!expr){return null;}
if(!expr){ return null; }
var info = {
name: name,
version: NA_VERSION,
codename: ""
codename: "",
};

@@ -472,3 +474,3 @@ var t = toString(expr);

version: v,
fullVersion: version
fullVersion: version,
};

@@ -483,3 +485,3 @@ d.device[name] = v;

version: v,
fullVersion: version
fullVersion: version,
};

@@ -505,3 +507,3 @@ d.os[name] = v;

fullMode: mode,
compatible: ieCore ? ieCore.compatible : false
compatible: ieCore ? ieCore.compatible : false,
};

@@ -528,3 +530,3 @@ d.engine[name] = v;

fullMode: mode,
compatible: ieCore ? ieCore.compatible : false
compatible: ieCore ? ieCore.compatible : false,
};

@@ -543,5 +545,5 @@ d.browser[name] = v;

[].unshift.apply(DEVICES, morerule.DEVICES || []);
[].unshift.apply(OS, morerule.OS || []);
[].unshift.apply(OS, morerule.OS || []);
[].unshift.apply(BROWSER, morerule.BROWSER || []);
[].unshift.apply(ENGINE, morerule.ENGINE || []);
[].unshift.apply(ENGINE, morerule.ENGINE || []);

@@ -560,3 +562,2 @@ }else{

// exports `parse()` API anyway.

@@ -563,0 +564,0 @@ detector.parse = parse;

@@ -169,3 +169,3 @@ # Example

"\n=========================\n"+
"REFERENCE INFORMATION BY AUTO DETECTED (DO'NT MODIFY):\N\N"+
"REFERENCE INFORMATION BY AUTO DETECTED (DO'NT MODIFY):\n\n"+
"detector version: " + detector_version + "\n\n" +

@@ -172,0 +172,0 @@ detectedInfo.join("\n")+

@@ -6,2 +6,21 @@

## 2.4.0 (2015-08-23)
* feat(micromessenger): move wechat support from node to web. #83
## 2.3.0 (2015-07-30)
* feat(edge): Add Microsoft Edge browser support. #79 #80
## 2.2.3 (2015-07-01)
* feat(browser): package.browser filed.
* doc(ios): Add iOS code name.
* doc(alias): Add Mac OS X 10.11 code name.
* doc(english): Use english document.
## 2.2.2 (2015-04-22)
* Fixed #76, 增强了三星手机识别问题。
## 2.2.1 (2015-02-13)

@@ -37,3 +56,3 @@

* Add #59 欧朋浏览器(oupeng)
* Add #59 欧朋浏览器 (oupeng)
* Fixed #56 sogou, liebao, maxthon, baidu 浏览器规则

@@ -40,0 +59,0 @@ * Fixed #60 UC 浏览器规则,支持 UC 桌面版。

@@ -16,17 +16,17 @@ module.exports = {

// [华硕](https://www.asus.com.cn/Phones/)
['asus', /\basus_([a-z0-9]+)\b/],
['alcatel', /\balcatel\b/],
['一加', /\ba0001 build/],
['蓝米', /\blanmi[_\-]([a-z0-9]+)\b/],
['E派', /\bebest[_\- ]([a-z0-9]+)\b/],
["asus", /\basus_([a-z0-9]+)\b/],
["alcatel", /\balcatel\b/],
["一加", /\ba0001 build/],
["蓝米", /\blanmi[_\-]([a-z0-9]+)\b/],
["E派", /\bebest[_\- ]([a-z0-9]+)\b/],
// HIKe
['hike', /\bhike[_\- ]([a-z0-9]+)\b/],
['qmi', /\bqmi build/],
['优米', /\bumi[\-]?([a-z0-9]+)/],
['嘉源', /\bcayon ([a-z0-9]+)/],
['intki', /\bintki[_\- ]([a-z0-9]+)/],
['星语', /\bxy[- ]([a-z0-9]+)/],
['欧奇', /\boku([a-z0-9]+)/],
['海派', /\bhaipai ([a-z0-9 ]+) build/],
['广信',
["hike", /\bhike[_\- ]([a-z0-9]+)\b/],
["qmi", /\bqmi build/],
["优米", /\bumi[\-]?([a-z0-9]+)/],
["嘉源", /\bcayon ([a-z0-9]+)/],
["intki", /\bintki[_\- ]([a-z0-9]+)/],
["星语", /\bxy[- ]([a-z0-9]+)/],
["欧奇", /\boku([a-z0-9]+)/],
["海派", /\bhaipai ([a-z0-9 ]+) build/],
["广信",
function(ua) {

@@ -37,12 +37,12 @@ if (/\bef98 build/.test(ua)) {

return /\bkingsun[_\- ]([a-z0-9]+)\b/;
}
},
],
['神州', /\bhasee ([a-z0-9 ]+) build\b/],
['青橙', /\bgo ([a-z0-9\-]+) build\b/],
['海信',
["神州", /\bhasee ([a-z0-9 ]+) build\b/],
["青橙", /\bgo ([a-z0-9\-]+) build\b/],
["海信",
function(ua) {
if (/\bhs[ \-]+([a-z0-9]+)/.test(ua)) {
return /\bhs[ \-]+([a-z0-9]+)/;
} else if (/ (e601m|t980) build/) {
} else if (/ (e601m|t980) build/.test(ua)) {
return / (e601m|t980) build/;

@@ -60,3 +60,3 @@ }

}
}
},
],

@@ -66,4 +66,4 @@

["bohp", /\bbohp[_\- ]([a-z0-9]+)/],
['小杨树', /; (mm110\d) build/],
['语信',
["小杨树", /; (mm110\d) build/],
["语信",
function(ua) {

@@ -77,11 +77,11 @@ if (/\byusun ([a-z0-9]+)/.test(ua)) {

}
}
},
],
['nubia', /\b(z7|nx\d{3}[a|j]) build/],
['爱讯达', /\bik build/],
['寰宇通', /\bxy\-a3/],
['mofut', /\bmofut ([a-z0-9]+) build/],
["nubia", /\b(z7|nx\d{3}[a|j]) build/],
["爱讯达", /\bik build/],
["寰宇通", /\bxy\-a3/],
["mofut", /\bmofut ([a-z0-9]+) build/],
// InFocus
['infocus', /\binfocus ([a-z0-9]+) build/],
['大唐',
["infocus", /\binfocus ([a-z0-9]+) build/],
["大唐",
function(ua) {

@@ -93,9 +93,9 @@ if (/\b(i318)_t3 build/.test(ua)) {

}
}
},
],
['邦华', /\bboway ([a-z0-9]+)/],
['天迈', /\bt\-smart ([a-z0-9]+)/],
['大显', /\bht7100/],
['博瑞', /\bbror ([a-z0-9]+)/],
['lingwin',
["邦华", /\bboway ([a-z0-9]+)/],
["天迈", /\bt\-smart ([a-z0-9]+)/],
["大显", /\bht7100/],
["博瑞", /\bbror ([a-z0-9]+)/],
["lingwin",
function(ua) {

@@ -106,6 +106,6 @@ if (/\blingwin ([a-z0-9]+)/.test(ua)) {

return /lingwin /;
}
},
],
['iusai', /\biusai ([a-z0-9]+)/],
['波导',
["iusai", /\biusai ([a-z0-9]+)/],
["波导",
function(ua) {

@@ -117,16 +117,16 @@ if (/\bbird ([a-z0-9]+)/.test(ua)) {

}
}
},
],
['德赛', /\bdesay ([a-z0-9]+)/],
['蓝魔', /\bramos([a-z0-9]+)/],
['美图', /\bmeitu(\d+) build/],
['opsson', /\bopsson ([a-z0-9]+)/],
['benwee', /\bbenwee ([a-z0-9]+)/],
['hosin', /\bhosin ([a-z0-9]+)/],
['smartisan', /\bsmartisan\b/],
['ephone', /ephone ([a-z0-9]+)/],
['佰事讯', /\b(wx9) build/],
['newman', /; newman ([a-z0-9]+) build/],
["德赛", /\bdesay ([a-z0-9]+)/],
["蓝魔", /\bramos([a-z0-9]+)/],
["美图", /\bmeitu(\d+) build/],
["opsson", /\bopsson ([a-z0-9]+)/],
["benwee", /\bbenwee ([a-z0-9]+)/],
["hosin", /\bhosin ([a-z0-9]+)/],
["smartisan", /\bsmartisan\b/],
["ephone", /ephone ([a-z0-9]+)/],
["佰事讯", /\b(wx9) build/],
["newman", /; newman ([a-z0-9]+) build/],
// 康佳
['konka',
["konka",
function(ua) {

@@ -138,5 +138,5 @@ if (/ (l823) build/.test(ua)) {

}
}
},
],
['haier',
["haier",
function(ua) {

@@ -146,5 +146,5 @@ if (/\b(?:haier|ht)[_-]([a-z0-9\-]+)\b/.test(ua)) {

}
}
},
],
['moto',
["moto",
function(ua) {

@@ -156,6 +156,6 @@ if (/\bmot[\-]([a-z0-9]+)/.test(ua)) {

}
}
},
],
// TCL
['tcl',
["tcl",
function(ua) {

@@ -167,9 +167,9 @@ if (/\btcl[ \-]([a-z0-9]+)/.test(ua)) {

}
}
},
],
['天语',
["天语",
function(ua) {
if (ua.indexOf('k-touch ') !== -1) {
return /\bk\-touch ([a-z0-9 +]+)(?:build|\))/
} else if (ua.indexOf('k-touch_') !== -1) {
if (ua.indexOf("k-touch ") !== -1) {
return /\bk\-touch ([a-z0-9 +]+)(?:build|\))/;
} else if (ua.indexOf("k-touch_") !== -1) {
return /\bk-touch_(a-z0-9)+/;

@@ -179,3 +179,3 @@ } else if (/k[ \-]touch/.test(ua)) {

}
}
},
],

@@ -197,6 +197,6 @@ // sony.

return /\bxm\d{2}t/;
}
},
],
['doov', /\bdoov[ _]([a-z0-9]+)/],
['天时达',
["doov", /\bdoov[ _]([a-z0-9]+)/],
["天时达",
function(ua) {

@@ -208,12 +208,11 @@ if (/\bts(\d+)/.test(ua)) {

}
}
]
},
],
],
OS: [
['smartisanos', /\bsmartisan os \- ([\d.]+)/],
["meego", /\bmeego\b/]
["smartisanos", /\bsmartisan os \- ([\d.]+)/],
["meego", /\bmeego\b/],
],
BROWSER: [
['micromessenger', /\bmicromessenger\/([\d.]+)/],
['baiduboxapp',
["baiduboxapp",
function(ua) {

@@ -223,6 +222,6 @@ var back = 0;

if (/ baiduboxapp\//i.test(ua)) {
if (a = /([\d+.]+)_(?:diordna|enohpi)_/.exec(ua)) {
a = a[1].split('.');
back = a.reverse().join('.');
} else if (a = /baiduboxapp\/([\d+.]+)/.exec(ua)) {
if ((a = /([\d+.]+)_(?:diordna|enohpi)_/.exec(ua))) {
a = a[1].split(".");
back = a.reverse().join(".");
} else if ((a = /baiduboxapp\/([\d+.]+)/.exec(ua))) {
back = a[1];

@@ -232,7 +231,7 @@ }

return {
version: back
version: back,
};
}
return false;
}
},
],

@@ -264,5 +263,5 @@ ["googlebot", /\bgooglebot\/([0-9.]+)/],

["alexabot", /\bia_archiver\b|\balexabot\/([0-9.]+)/],
["curl", /\bcurl\/([0-9.]+)/]
["curl", /\bcurl\/([0-9.]+)/],
],
ENGINE: []
ENGINE: [],
};
{
"name": "detector",
"version": "2.3.0",
"version": "2.4.0",
"description": "The module for detect client-side information.",

@@ -17,3 +17,12 @@ "homepage": "http://spmjs.io/docs/detector/",

},
"keywords": ["utility", "userAgent", "arale", "Browser", "OS", "Operation System", "Device", "Rendering Engine"],
"keywords": [
"utility",
"userAgent",
"arale",
"Browser",
"OS",
"Operation System",
"Device",
"Rendering Engine"
],
"repository": {

@@ -40,2 +49,3 @@ "type": "git",

"devDependencies": {
"eslint": "^0.24.1",
"expect.js": "0.3.1",

@@ -42,0 +52,0 @@ "grunt": "~0.4.1",

@@ -70,3 +70,3 @@ # detector

全局安装(`-g`)时,可以在终端使用 `detector` 命令。
全局安装 (`-g`) 时,可以在终端使用 `detector` 命令。

@@ -137,3 +137,3 @@ ```

* `android`: Android.
* `blackberry`: 黑莓(Blackberry)手机。
* `blackberry`: 黑莓 (Blackberry) 手机。
* `wp`: Windows Phone.

@@ -161,3 +161,3 @@ * `mi`: 小米。

* `huawei-honor`: [华为荣耀](http://www.honor.cn/)
* `lephone`: [乐Phone](http://www.lephonemall.com/)
* `lephone`: [乐 Phone](http://www.lephonemall.com/)
* `asus`: [华硕](https://www.asus.com.cn/Phones/)

@@ -167,3 +167,3 @@ * `alcatel`

* `蓝米`
* `E派`
* `E 派`
* `hike`

@@ -255,3 +255,3 @@ * `qmi`

* `meego`: Meego.
* `smartisan`: 锤子, Smartisan.
* `smartisan`: 锤子,Smartisan.

@@ -300,5 +300,5 @@

* `360`: 包括奇虎 360 安全浏览器和 360 极速浏览器。
* `maxthon`: 傲游浏览器(Maxthon)。
* `sogou`: 搜狗浏览器(Sogou)。
* `theworld`: 世界之窗浏览器(TheWorld)。
* `maxthon`: 傲游浏览器 (Maxthon)。
* `sogou`: 搜狗浏览器 (Sogou)。
* `theworld`: 世界之窗浏览器 (TheWorld)。
* `green`: GreenBrowser.

@@ -318,2 +318,3 @@ * `qq`: QQ 浏览器。

* `yandex`: Yandex YaBrowser.
* `micromessenger` 微信
* `ali-ap`: 支付宝手机客户端。

@@ -343,3 +344,2 @@ * `ali-ap-pd`: 支付宝平板客户端。

* `curl`: curl.
* `micromessenger` 微信
* ~~`slurpbot`: Yahoo! [Slurp](wiki/slurpbot.md)~~

@@ -346,0 +346,0 @@

@@ -19,2 +19,4 @@ # detector

[中文文档](./README-zh_CN.md)
Client information detector, for auto detect user agent, include:

@@ -329,2 +331,3 @@

* `yandex`: Yandex YaBrowser.
* `micromessenger` WeChat (微信)
* `ali-ap`: 支付宝手机钱包。

@@ -354,3 +357,2 @@ * `ali-ap-pd`: 支付宝平板客户端。

* `curl`: curl.
* `micromessenger` WeChat (微信)
* ~~`slurpbot`: Yahoo! [Slurp](wiki/slurpbot.md)~~

@@ -357,0 +359,0 @@

var expect = require("expect.js");
var detector = require('../detector');
var detector = require("../detector");
var global = this;

@@ -18,3 +18,3 @@

// c: compatible; o: origin, not compatible.
engine: "edgehtml/12.10162;12.10162;o"
engine: "edgehtml/12.10162;12.10162;o",
}],

@@ -27,3 +27,3 @@ ["Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko", {

// c: compatible; o: origin, not compatible.
engine: "trident/7.0;7.0;o"
engine: "trident/7.0;7.0;o",
}],

@@ -37,3 +37,3 @@ // Windows Blue

// c: compatible; o: origin, not compatible.
engine: "trident/7.0;7.0;o"
engine: "trident/7.0;7.0;o",
}],

@@ -44,3 +44,3 @@ ["Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko", {

browser: "ie/11.0;11.0;o",
engine: "trident/7.0;7.0;o"
engine: "trident/7.0;7.0;o",
}],

@@ -52,3 +52,3 @@ // 兼容模式

browser: "ie/11.0;7.0;c",
engine: "trident/7.0;3.0;c"
engine: "trident/7.0;3.0;c",
}],

@@ -59,3 +59,3 @@ ["Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko", {

browser: "ie/11.0;11.0;o",
engine: "trident/7.0;7.0;o"
engine: "trident/7.0;7.0;o",
}],

@@ -66,3 +66,3 @@ ["Mozilla/5.0 (IE 7.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko", {

browser: "ie/11.0;7.0;c",
engine: "trident/7.0;3.0;c"
engine: "trident/7.0;3.0;c",
}],

@@ -74,3 +74,3 @@ // Windows 7, IE10

browser: "ie/10.0;10.0;o",
engine: "trident/6.0;6.0;o"
engine: "trident/6.0;6.0;o",
}],

@@ -82,3 +82,3 @@ // Windows 7, IE10(兼 容模式)

browser: "ie/10.0;7.0;c",
engine: "trident/6.0;3.0;c"
engine: "trident/6.0;3.0;c",
}],

@@ -90,3 +90,3 @@ // Windows 7, IE9

browser: "ie/9.0;9.0;o",
engine: "trident/5.0;5.0;o"
engine: "trident/5.0;5.0;o",
}],

@@ -98,3 +98,3 @@ // Windows 7, IE9(兼 容模式)

browser: "ie/9.0;7.0;c",
engine: "trident/5.0;3.0;c"
engine: "trident/5.0;3.0;c",
}],

@@ -106,3 +106,3 @@ // Windows 7, IE8

browser: "ie/8.0;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -114,3 +114,3 @@ // Windows 7, IE8(兼容模式)

browser: "ie/8.0;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -122,3 +122,3 @@ // Windows XP, IE8

browser: "ie/8.0;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -130,3 +130,3 @@ // Windows XP, IE8(兼容模式)

browser: "ie/8.0;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -138,3 +138,3 @@ // Windows XP, IE7

browser: "ie/7.0;7.0;o",
engine: "trident/3.0;3.0;o"
engine: "trident/3.0;3.0;o",
}],

@@ -146,3 +146,3 @@ // Windows XP, IE6

browser: "ie/6.0;6.0;o",
engine: "trident/2.0;2.0;o"
engine: "trident/2.0;2.0;o",
}],

@@ -155,3 +155,3 @@

browser: "chrome/24.0.1312.56;24.0.1312.56;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o",
}],

@@ -162,3 +162,3 @@ ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.99 Safari/537.22", {

browser: "chrome/25.0.1364.99;25.0.1364.99;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.22;537.22;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.22;537.22;o",
}],

@@ -169,3 +169,3 @@ ["Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31", {

browser: "chrome/26.0.1410.43;26.0.1410.43;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.31;537.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.31;537.31;o",
}],

@@ -177,3 +177,3 @@ // Macintosh Safari.

browser: "safari/6.0.2;6.0.2;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26.17;536.26.17;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26.17;536.26.17;o",
}],

@@ -184,3 +184,3 @@ ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.28.10 (KHTML, like Gecko) Version/6.0.3 Safari/536.28.10", {

browser: "safari/6.0.3;6.0.3;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.28.10;536.28.10;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.28.10;536.28.10;o",
}],

@@ -192,3 +192,3 @@ // Macintosh, Firefox.

browser: "firefox/19.0;19.0;o",
engine: "gecko/19.0.20100101;19.0.20100101;o"
engine: "gecko/19.0.20100101;19.0.20100101;o",
}],

@@ -200,3 +200,3 @@ // Macintosh Opera.

browser: "opera/12.15;12.15;o",
engine: "presto/2.12.388;2.12.388;o"
engine: "presto/2.12.388;2.12.388;o",
}],

@@ -207,3 +207,3 @@ ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.20 Safari/537.36 OPR/15.0.1147.18 (Edition Next)", {

browser: "opera/15.0.1147.18;15.0.1147.18;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -216,3 +216,3 @@

browser: "360/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o",
}],

@@ -224,3 +224,3 @@ // 360 安全浏览器,兼容模式。XXX: 无法识别真实 360 信息。

browser: "ie/8.0;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -232,3 +232,3 @@ // 360 急速浏览器,急速模式

browser: "360/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o",
}],

@@ -240,3 +240,3 @@ // 360 安全浏览器,兼容模式。XXX: 无法识别真实 360 信息。

browser: "ie/8.0;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -248,3 +248,3 @@ // TheWorld

browser: "theworld/-1;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -258,3 +258,3 @@ // TheWorld 急速版。

browser: "theworld/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/535.11;535.11;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/535.11;535.11;o",
}],

@@ -266,3 +266,3 @@ // TheWorld 急速版,兼容模式

browser: "theworld/-1;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -274,3 +274,3 @@ // Maxthon

browser: "maxthon/4.0.5.4000;4.0.5.4000;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o",
}],

@@ -282,3 +282,3 @@ // QQBrowser

browser: "qq/7.3.8126.400;8.0;o",
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -289,3 +289,3 @@ ["MQQBrowser/3.7/Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HW-HUAWEI_C8650/C8650V100R001C92B825; 320*480; CTC/2.0) AppleWebKit/533.1 Mobile Safari/533.1", {

browser: "qq/3.7;3.7;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -296,3 +296,3 @@ ["HUAWEI U8825D Build/HuaweiU8825D) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -303,3 +303,3 @@ ["HuaweiT8100_TD/1.0 Android/2.2 Release/12.25.2010 Browser/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 AppleWebKit/533.1", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -310,3 +310,3 @@ ["HUAWEI-HUAWEI-Y-220T/1.0 Linux/2.6.35.7 Android/2.3.5 Release/11.28.2012 Browser/AppleWebKit533.1 (KHTML%2C like Gecko) Mozilla/5.0 Mobile", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -317,3 +317,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; U8818 Build/HuaweiU8818) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -324,3 +324,3 @@ ["JUC (Linux; U; 4.1.2; zh-cn; Nexus S; 480*800) UCWEB8.7.2.214/145/800", {

browser: "uc/8.7.2.214;8.7.2.214;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -331,3 +331,3 @@ ["Lenovo A356:Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; Lenovo A356/S030) AppleWebKit534.30 (KHTML%2C like Gecko) Version/4.0 Mobile Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -338,3 +338,3 @@ ["Lenovo-A60/S100 Linux/2.6.35.7 Android/2.3.3 Release/04.19.2011 Browser/AppleWebKit533.1 Profile/ Configuration/", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -345,3 +345,3 @@ ["LENOVO-Lenovo-A288t/1.0 Linux/2.6.35.7 Android/2.3.5 Release/08.16.2012 Browser/AppleWebKit533.1 (KHTML%2C like Gecko) Mozilla/5.0 Mobile", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -352,3 +352,3 @@ ["LenovoS899t_TD/1.0 Android/4.0 Release/02.01.2012 Browser/WAP2.0 appleWebkit/534.30; 360browser(securitypay%2Csecurityinstalled); 360(android%2Cuppayplugin); 360 Aphone Browser (4.7.1)", {

browser: "360/4.7.1;4.7.1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -359,3 +359,3 @@ ["ZTE-TU960s_TD/1.0 Linux/2.6.35 Android/2.3 Release/9.25.2011 Browser/AppleWebKit533.1", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -366,3 +366,3 @@ ["ZTEU880E_TD/1.0 Linux/2.6.35 Android/2.3 Release/12.15.2011 Browser/AppleWebKit533.1", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -373,3 +373,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn;generic-ZTE U930/Phone Build/IMM76D) AppleWebKit534.30(KHTML%2Clike Gecko)Version/4.0 Mobile Safari/534.30 Id/EA71A15E1E65D2518F09B2C659CA09E1 RV/4.0.1;gngouua1.3.0.g chl/anzhi", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -380,3 +380,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.2.2; zh-cn; ZTE-T U880 Build/FRG83G) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -387,3 +387,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; ZTE U795 Build/IMM76D) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -394,3 +394,3 @@ ["ZTEU795+_TD/1.0 Linux/3.0.13 Android/4.0 Release/7.10.2012 Browser/AppleWebKit534.30", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -401,3 +401,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; ZTE-U V881 Build/GINGERBREAD) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -408,3 +408,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; vivo E1 Build/GRJ90) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -415,3 +415,3 @@ ["NokiaC7-00/111.040.1511 (Symbian/3; Series60/5.3 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML%2C like Gecko) Version/3.0 NokiaBrowser/8.3.1.4", {

browser: "nokia/8.3.1.4;8.3.1.4;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/525;525;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/525;525;o",
}],

@@ -422,3 +422,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.1.5; zh-cn; HTC_X315e Build/IML74K) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -429,3 +429,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; HTC T328d Build/IML74K) UC AppleWebKit/530+ (KHTML%2C like Gecko) Mobile Safari/530", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/530+;530+;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/530+;530+;o",
}],

@@ -436,3 +436,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; HTC-T329d/1.11.1401.1) AndroidWebKit/534.30 (KHTML%2C Like Gecko) Version/4.0 Mobile Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: "androidwebkit/534.30;534.30;o"
engine: "androidwebkit/534.30;534.30;o",
}],

@@ -443,3 +443,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; en-es; HTC Incredible S Build/GRJ90) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -450,3 +450,3 @@ ["JUC (Linux; U; 2.3.5; zh-cn; HTC Rhyme S510b; 480*800) UCWEB8.7.4.225/145/800", {

browser: "uc/8.7.4.225;8.7.4.225;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -457,3 +457,3 @@ ["UCWEB/2.0 (Linux; U; Adr Android 4.0.8; zh-CN; HTC inspire4G(LTE)) U2/1.0.0 UCBrowser/8.8.3.278 U2/1.0.0 Mobile", {

browser: "uc/8.8.3.278;8.8.3.278;o",
engine: "u2/1.0.0;1.0.0;o"
engine: "u2/1.0.0;1.0.0;o",
}],

@@ -464,3 +464,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC Magic Build/FRG83) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -471,3 +471,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; HTC Sensation Z710e Build/IML74K) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -478,3 +478,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC Wildfire S A510e Build/GRI40) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -485,3 +485,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.2.1; en-sg; HTC Wildfire Build/FRG83D) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -492,3 +492,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; HTC Desire S Build/GRJ90) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -499,3 +499,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.2.1; zh-cn; HTC Rezound Build/IML74K) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -506,3 +506,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; HTC One X Build/IMM76D) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -513,3 +513,3 @@ ["HTCT329t_TD/1.0 Android/4.0 release/2012 Browser/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1", {

browser: "na/-1;-1;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -521,3 +521,3 @@ // TT

browser: "tt/4.0;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -529,3 +529,3 @@ //GreenBrowser.

browser: "green/-1;6.0;o",
engine: "trident/2.0;2.0;o"
engine: "trident/2.0;2.0;o",
}],

@@ -536,3 +536,3 @@ ["Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; GreenBrowser)", {

browser: "green/-1;7.0;o",
engine: "trident/3.0;3.0;o"
engine: "trident/3.0;3.0;o",
}],

@@ -543,3 +543,3 @@ ["Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; GreenBrowser)", {

browser: "green/-1;7.0;o",
engine: "trident/3.0;3.0;o"
engine: "trident/3.0;3.0;o",
}],

@@ -551,3 +551,3 @@ // 枫树浏览器

browser: "coolnovo/2.0.6.12;2.0.6.12;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o",
}],

@@ -559,3 +559,3 @@ // 枫树浏览器,兼容模式。XXX: 误识别。

browser: "ie/8.0;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -567,3 +567,3 @@ // 闪游浏览器

browser: "saayaa/-1;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -575,3 +575,3 @@ // 猎豹浏览器。TODO: 识别非 IE 内核浏览的模式。

browser: "liebao/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.1;537.1;o",
}],

@@ -583,3 +583,3 @@ // 闪游浏览器,兼容模式

browser: "saayaa/-1;7.0;c",
engine: "trident/4.0;3.0;c"
engine: "trident/4.0;3.0;c",
}],

@@ -591,3 +591,3 @@ // 淘宝浏览器

browser: "tao/3.1;3.1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.11;536.11;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.11;536.11;o",
}],

@@ -599,3 +599,3 @@ // 百度浏览器

browser: "baidu/2.x;9.0;o",
engine: "trident/5.0;5.0;o"
engine: "trident/5.0;5.0;o",
}],

@@ -607,3 +607,3 @@ // 百度浏览器,兼容模式

browser: "baidu/2.x;2.x;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.7;534.7;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.7;534.7;o",
}],

@@ -615,3 +615,3 @@ // 搜狗浏览器

browser: "sogou/2.x;7.0;c",
engine: "trident/5.0;3.0;c"
engine: "trident/5.0;3.0;c",
}],

@@ -623,3 +623,3 @@ // 搜狗浏览器,兼容模式

browser: "sogou/2.x;2.x;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.17;537.17;o",
}],

@@ -633,3 +633,3 @@

browser: "chrome/26.0.1410.50;26.0.1410.50;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o",
}],

@@ -640,3 +640,3 @@ ["Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25", {

browser: "safari/6.0;6.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o",
}],

@@ -647,3 +647,3 @@ ["UCWEB/2.0 (iOS; U; iPh OS 6_1_2; zh-CN; iPh4%2C1) U2/1.0.0 UCBrowser/9.0.1.284 U2/1.0.0 Mobile", {

browser: "uc/9.0.1.284;9.0.1.284;o",
engine: "u2/1.0.0;1.0.0;o"
engine: "u2/1.0.0;1.0.0;o",
}],

@@ -654,3 +654,3 @@ ["UCWEB/2.0 (iOS; U; iPh OS 5_1_1; zh-CN; iPh3%2C1) U2/1.0.0 UCBrowser/9.0.0.260 U2/1.0.0 Mobile", {

browser: "uc/9.0.0.260;9.0.0.260;o",
engine: "u2/1.0.0;1.0.0;o"
engine: "u2/1.0.0;1.0.0;o",
}],

@@ -662,3 +662,3 @@ // iPad mini.

browser: "safari/6.0;6.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o",
}],

@@ -672,3 +672,3 @@

browser: "webview/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/531.21.10;531.21.10;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/531.21.10;531.21.10;o",
}],

@@ -680,3 +680,3 @@ // iPad mini, MIHtool. WebView.

browser: "webview/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o",
}],

@@ -687,3 +687,3 @@ ["Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML%2C like Gecko) Mobile/9A405", {

browser: "webview/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.46;534.46;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.46;534.46;o",
}],

@@ -694,3 +694,3 @@ ["Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146", {

browser: "webview/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/536.26;536.26;o",
}],

@@ -702,3 +702,3 @@ // Windows Phone, IE9

browser: "ie/10.0;10.0;o",
engine: "trident/6.0;6.0;o"
engine: "trident/6.0;6.0;o",
}],

@@ -709,3 +709,3 @@ ["Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG SGH-i917)", {

browser: "ie/9.0;9.0;o",
engine: "trident/5.0;5.0;o"
engine: "trident/5.0;5.0;o",
}],

@@ -717,3 +717,3 @@ // Windows Phone, IE9

browser: "ie/7.0;7.0;o",
engine: "trident/3.0;3.0;o"
engine: "trident/3.0;3.0;o",
}],

@@ -725,3 +725,3 @@ // Windows CE

browser: "na/-1;-1;o",
engine: "gecko/1.8.1a3.20060610;1.8.1a3.20060610;o"
engine: "gecko/1.8.1a3.20060610;1.8.1a3.20060610;o",
}],

@@ -732,3 +732,3 @@ ["Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; 176x220)", {

browser: "ie/4.01;4.01;o",
engine: "trident/0.01;0.01;o"
engine: "trident/0.01;0.01;o",
}],

@@ -740,3 +740,3 @@ // Nexus 7

browser: "chrome/25.0.1364.169;25.0.1364.169;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.22;537.22;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.22;537.22;o",
}],

@@ -748,3 +748,3 @@ // 小米浏览器

browser: "mi/1.0;1.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -757,3 +757,3 @@ // 小米手机

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -764,3 +764,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; M040 Build/JRO03H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -771,3 +771,3 @@ ["meizu/9|Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; M9 Build/GRJ90) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -778,3 +778,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.2.1; zh-cn; M040 Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -785,3 +785,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; MEIZU MX Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobiile Safari/533.1", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -792,3 +792,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.4.2; zh-cn; MX4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -799,3 +799,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; MT15i Build/4.1.B.0.431) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -806,3 +806,3 @@ ["CoolPad8190_CMCC_TD/1.0 Linux/3.0.8 Android/4.0 Release/10.15.2012 Browser/AppleWebkit534.3", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.3;534.3;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.3;534.3;o",
}],

@@ -813,3 +813,3 @@ ["CoolPad8060_CMCC_TD/1.0 Linux/2.6.35 Android/2.3 Release/8.30.2012 Browser/AppleWebkit533.1", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -820,3 +820,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn;YL-Coolpad_7260A/2.3.002.120217.7260+; 480*800; CUCC/3.0) CoolpadWebkit/533.1", {

browser: "na/-1;-1;o",
engine: "coolpadwebkit/533.1;533.1;o"
engine: "coolpadwebkit/533.1;533.1;o",
}],

@@ -827,3 +827,3 @@ ["OPPO_R815T/1.0 Linux/3.4.0 Android/4.2.1 Release/12.24.2012 Browser/AppleWebKit534.30 Mobile Safari/534.30 MBBMS/2.2 System/Android 4.2.1;", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -834,3 +834,3 @@ ["KONKA-V926/1.0 Linux/2.6.35.7 Android/2.3.5 Release/07.30.2012 Browser/AppleWebKit533.1 (KHTML%2C like Gecko) Mozilla/5.0 Mobile", {

browser: "na/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -843,3 +843,3 @@

browser: "uc/8.8.2.274;8.8.2.274;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -850,3 +850,3 @@ ["UCWEB/2.0 (Linux; U; Adr 2.3.5; zh-CN; F-03D) U2/1.0.0 UCBrowser/8.8.3.278 U2/1.0.0 Mobile", {

browser: "uc/8.8.3.278;8.8.3.278;o",
engine: "u2/1.0.0;1.0.0;o"
engine: "u2/1.0.0;1.0.0;o",
}],

@@ -857,3 +857,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.5; zh-cn; MI-ONE Plus Build/GINGERBREAD) UC AppleWebKit/530+ (KHTML%2C like Gecko) Mobile Safari/530", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/530+;530+;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/530+;530+;o",
}],

@@ -865,3 +865,3 @@ // SAMSUNG Android Pad, UC HD.

browser: "uc/2.3.2.289;2.3.2.289;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.13;534.13;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.13;534.13;o",
}],

@@ -872,3 +872,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.0.4; zh-cn; SAMSUNG-GT-S7568_TD/1.0 Android/4.0.4 Release/07.15.2012 Browser/AppleWebKit534.30 Build/IMM76D) ApplelWebkit/534.30 (KHTML%2Clike Gecko) Version/4.0 Mobile Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -879,3 +879,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; SCH-I779 Build/GINGERBREAD) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -885,3 +885,3 @@ [{

"appVersion": "5.0 (Linux; U; Android 3.2; zh-cn; GT-P6800 Build/HTJ85B) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31 UC/8.7.4.225",
"vendor": "UCWEB"
"vendor": "UCWEB",
}, {

@@ -891,3 +891,3 @@ device: "samsung/p6800",

browser: "uc/8.7.4.225;8.7.4.225;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -898,3 +898,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; SM-T311 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30", {

browser: "android/4.0;4.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -905,3 +905,3 @@ ["Mozilla/5.0 (Linux; Android 4.4.2; zh-cn; SAMSUNG-SM-N9009 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36", {

browser: "chrome/28.0.1500.94;28.0.1500.94;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -912,3 +912,3 @@ ["(Linux; Android 4.3; zh-cn; SAMSUNG SM-N9002 Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36", {

browser: "chrome/28.0.1500.94;28.0.1500.94;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -919,3 +919,3 @@ ["Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; LG-P500 Build/GRI40) UC AppleWebKit/534.31 (KHTML%2C like Gecko) Mobile Safari/534.31", {

browser: "uc/-1;-1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.31;534.31;o",
}],

@@ -925,3 +925,3 @@ [{

"appVersion": "4.0 (compatible;Android;320x480) UC/9.1.1.309",
"vendor": "UCWEB"
"vendor": "UCWEB",
}, {

@@ -931,3 +931,3 @@ device: "android/-1",

browser: "uc/9.1.1.309;9.1.1.309;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -938,3 +938,3 @@

"appVersion": "5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12597 Safari/537.36",
"vendor": "Yandex"
"vendor": "Yandex",
}, {

@@ -944,3 +944,3 @@ device: "mac/-1",

browser: "yandex/14.2.1700.12597;14.2.1700.12597;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -950,3 +950,3 @@ [{

"appVersion": "5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) YaBrowser/14.2.1700.0 Mobile/11D167 Safari/9537.53",
"vendor": "Apple Computer, Inc."
"vendor": "Apple Computer, Inc.",
}, {

@@ -956,3 +956,3 @@ device: "iphone/-1",

browser: "yandex/14.2.1700.0;14.2.1700.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.1;537.51.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.1;537.51.1;o",
}],

@@ -962,3 +962,3 @@ [{

"appVersion": "5.0 (Linux; Android 4.1.1; MI 2 Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12535.00 Mobile Safari/537.36",
"vendor": "Yandex"
"vendor": "Yandex",
}, {

@@ -968,3 +968,3 @@ device: "mi/2",

browser: "yandex/14.2.1700.12535.00;14.2.1700.12535.00;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -974,3 +974,3 @@ [{

"appVersion": "5.0 (Linux; Android 4.2.2; MediaPad X1 7.0 Build/HuaweiMediaPad) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12535.01 Safari/537.36",
"vendor": "Yandex"
"vendor": "Yandex",
}, {

@@ -980,3 +980,3 @@ device: "huawei/x1 7.0",

browser: "yandex/14.2.1700.12535.01;14.2.1700.12535.01;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -986,3 +986,3 @@ [{

"appVersion": "5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1106.241 YaBrowser/1.5.1106.241 Safari/537.4",
"vendor": "Yandex"
"vendor": "Yandex",
}, {

@@ -992,3 +992,3 @@ device: "pc/-1",

browser: "yandex/1.5.1106.241;1.5.1106.241;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.4;537.4;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.4;537.4;o",
}],

@@ -1001,3 +1001,3 @@

browser: "ali-ap/2.3.4;2.3.4;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.1;537.51.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.1;537.51.1;o",
}],

@@ -1009,3 +1009,3 @@ ["Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D201 AlipayClient/8.0.0.0110",

browser: "ali-ap/8.0.0.0110;8.0.0.0110;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.2;537.51.2;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.2;537.51.2;o",
}],

@@ -1019,3 +1019,3 @@

browser: "oupeng/10.0.1.82018;10.0.1.82018;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -1028,3 +1028,3 @@ //安卓搜狗

browser: "sogou/3.1.2;3.1.2;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.30;534.30;o",
}],

@@ -1037,3 +1037,3 @@ //安卓猎豹极速

browser: "liebao/2.10.0;2.10.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/535.19;535.19;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/535.19;535.19;o",
}],

@@ -1046,3 +1046,3 @@ //百度安卓

browser: "baidu/5.2.3.0;5.2.3.0;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.24;534.24;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.24;534.24;o",
}],

@@ -1055,3 +1055,3 @@ //小米3 遨游

browser: "maxthon/4.3.1.2000;4.3.1.2000;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.2;537.51.2;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.51.2;537.51.2;o",
}],

@@ -1064,3 +1064,3 @@ // UC桌面浏览器

browser: "uc/2.0.1288.1;2.0.1288.1;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.36;537.36;o",
}],

@@ -1072,3 +1072,3 @@ ["Mozilla/5.0 (Linux; U; Android 4.4.2; zh-CN; MI 3W Build/KVT49L) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.9.2.467 U3/0.8.0 Mobile Safari/533.1",

browser: "uc/9.9.2.467;9.9.2.467;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/533.1;533.1;o",
}],

@@ -1080,3 +1080,3 @@ ["Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) BaiduHD/2.6.2 Mobile/10A406 Safari/8536.25",

browser: "baidu/2.6.2;2.6.2;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.46;534.46;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.46;534.46;o",
}],

@@ -1090,3 +1090,3 @@

browser: "blackberry/10.1.0.4633;10.1.0.4633;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.10+;537.10+;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/537.10+;537.10+;o",
}],

@@ -1098,3 +1098,3 @@ ["Mozilla/5.0 (BlackBerry; U; BlackBerry 9810; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.912 Mobile Safari/534.11+",

browser: "blackberry/7.1.0.912;7.1.0.912;o",
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.11+;534.11+;o"
engine: (isBlinkEngine() ? "blink" : "webkit") + "/534.11+;534.11+;o",
}],

@@ -1106,5 +1106,26 @@ ["BlackBerry9000/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179",

browser: "blackberry/5.0.0.93;5.0.0.93;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],
// iPhone 5, 微信。
["Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.40 (KHTML, like Gecko) Mobile/11A4372q MicroMessenger/4.5", {
device: "iphone/-1",
os: "ios/7.0",
browser: "micromessenger/4.5;4.5;o",
engine: "webkit/537.40;537.40;o",
}],
// 魅族
["Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; M030 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/4.2.191", {
device: "meizu/030",
os: "android/4.0.3",
browser: "micromessenger/4.2.191;4.2.191;o",
engine: "webkit/534.30;534.30;o",
}],
["Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B435 MicroMessenger/6.0.1 NetType/WIFI", {
device: "iphone/-1",
os: "ios/8.1.1",
browser: "micromessenger/6.0.1;6.0.1;o",
engine: "webkit/600.1.4;600.1.4;o",
}],
// NA

@@ -1116,17 +1137,30 @@ ["",

browser: "na/-1;-1;o",
engine: "na/-1;-1;o"
}]
engine: "na/-1;-1;o",
}],
];
describe("detector", function() {
function makeTest(ua, detect, info, k, origin_ua){
it("ua: " + origin_ua + " » detector " + k + ": " + info[k], function() {
var nav, ua, info, detect;
for(var i=0,l=UAs.length; i<l; i++){
var ext = "";
if(k === "browser" || k === "engine"){
ext = ";" + detect[k].fullMode + ";" + (detect[k].compatible ? "c" : "o");
}
expect(detect[k].name + "/" + detect[k].fullVersion + ext).to.equal(info[k]);
});
}
var nav, ua, info, detect, type;
var origin_ua;
for (var i = 0, l = UAs.length; i < l; i++){
nav = UAs[i][0];
type = Object.prototype.toString.call(nav);
if(type==="[object String]"){
if (type === "[object String]") {
ua = nav;
origin_ua = ua;
}else if(type === "[object Object]"){
ua = (nav.userAgent||"") + " " + (nav.appVersion||"") + " " + (nav.vendor||"");
} else if (type === "[object Object]") {
ua = (nav.userAgent || "") + " " + (nav.appVersion || "") + " " + (nav.vendor || "");
origin_ua = nav.userAgent;

@@ -1138,18 +1172,7 @@ }else{

detect = detector.parse(ua);
for(var k in info){
if(!info.hasOwnProperty(k)){continue;}
(function(ua, detect, info, k){
it("ua: " + origin_ua + " » detector "+k+": "+info[k], function() {
var ext = "";
if(k === "browser" || k === "engine"){
ext = ";"+detect[k].fullMode+";"+(detect[k].compatible?"c":"o");
}
expect(detect[k].name+"/"+detect[k].fullVersion+ext).to.equal(info[k]);
});
})(ua, detect, info, k);
for (var k in info) {
if (!info.hasOwnProperty(k)){ continue; }
makeTest(ua, detect, info, k, origin_ua);
}
}
});

@@ -11,26 +11,5 @@ // more rule test.

browser: "nokia/8.5.0;8.5.0;o",
engine: "webkit/534.13;534.13;o"
engine: "webkit/534.13;534.13;o",
}],
// iPhone 5, 微信。
["Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.40 (KHTML, like Gecko) Mobile/11A4372q MicroMessenger/4.5", {
device: "iphone/-1",
os: "ios/7.0",
browser: "micromessenger/4.5;4.5;o",
engine: "webkit/537.40;537.40;o"
}],
// 魅族
["Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; M030 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/4.2.191", {
device: "meizu/030",
os: "android/4.0.3",
browser: "micromessenger/4.2.191;4.2.191;o",
engine: "webkit/534.30;534.30;o"
}],
["Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B435 MicroMessenger/6.0.1 NetType/WIFI", {
device: "iphone/-1",
os: "ios/8.1.1",
browser: "micromessenger/6.0.1;6.0.1;o",
engine: "webkit/600.1.4;600.1.4;o"
}],
["KONKA_V926_TD/1.0 Android/2.3.5 MocorDroid/SpreadTrum Release/3.22.2012 Browser/AppleWebKit5333.1 baiduboxapp/4.3 (Baidu; P1 2.3.5)", {

@@ -40,3 +19,3 @@ device: "konka/v926",

browser: "baiduboxapp/4.3;4.3;o",
engine: "webkit/5333.1;5333.1;o"
engine: "webkit/5333.1;5333.1;o",
}],

@@ -49,3 +28,3 @@

browser: "uc/8.8.3.278;8.8.3.278;o",
engine: "u2/1.0.0;1.0.0;o"
engine: "u2/1.0.0;1.0.0;o",
}],

@@ -58,3 +37,3 @@

browser: "googlebot/2.1;2.1;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -65,3 +44,3 @@ ["Googlebot/2.1 (+http://www.googlebot.com/bot.html; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; firefox)", {

browser: "googlebot/2.1;8.0;o", // IE 8.0, Trident 4.0.
engine: "trident/4.0;4.0;o"
engine: "trident/4.0;4.0;o",
}],

@@ -73,3 +52,3 @@

browser: "baiduspider/2.0;2.0;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -81,3 +60,3 @@

browser: "bingbot/2.0;2.0;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -88,3 +67,3 @@ ["Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534+ (KHTML, like Gecko) MsnBot-Media /1.0b", {

browser: "msnbot/1.0b;1.0b;o",
engine: "webkit/534+;534+;o"
engine: "webkit/534+;534+;o",
}],

@@ -95,3 +74,3 @@ ["msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)", {

browser: "msnbot/1.1;1.1;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -102,3 +81,3 @@ ["Nuhk/3.0 (linktest; +http://www.neti.ee/bot)", {

browser: "nuhkbot/3.0;3.0;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -109,3 +88,3 @@ ["Nuhk/2.4 (+http://www.neti.ee/cgi-bin/abi/otsing.html)", {

browser: "nuhkbot/2.4;2.4;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -116,3 +95,3 @@ ["Nuhk/2.4 ( http://www.neti.ee/cgi-bin/abi/Otsing/Nuhk/)", {

browser: "nuhkbot/2.4;2.4;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -124,3 +103,3 @@

browser: "alexabot/1.0;1.0;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -132,3 +111,3 @@

browser: "curl/7.19.7;7.19.7;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -139,3 +118,3 @@ ["curl/7.30.0", {

browser: "curl/7.30.0;7.30.0;o",
engine: "na/-1;-1;o"
engine: "na/-1;-1;o",
}],

@@ -147,4 +126,4 @@

browser: "android/4.0;4.0;o",
engine: "webkit/534.30;534.30;o"
}]
engine: "webkit/534.30;534.30;o",
}],
];

@@ -154,11 +133,24 @@

var nav, ua, info, detect;
for(var i=0,l=UAs.length; i<l; i++){
function makeTest(ua, detect, info, k, origin_ua){
it("ua: " + origin_ua + " » detector " + k + ": " + info[k], function() {
var ext = "";
if(k === "browser" || k === "engine"){
ext = ";" + detect[k].fullMode + ";" + (detect[k].compatible ? "c" : "o");
}
expect(detect[k].name + "/" + detect[k].fullVersion + ext).to.equal(info[k]);
});
}
var nav, ua, info, detect, type, origin_ua;
for(var i = 0, l = UAs.length; i < l; i++){
nav = UAs[i][0];
type = Object.prototype.toString.call(nav);
if(type==="[object String]"){
if (type === "[object String]") {
ua = nav;
origin_ua = ua;
}else if(type === "[object Object]"){
ua = (nav.userAgent||"") + " " + (nav.appVersion||"") + " " + (nav.vendor||"");
ua = (nav.userAgent || "") + " " + (nav.appVersion || "") + " " + (nav.vendor || "");
origin_ua = nav.userAgent;

@@ -171,17 +163,6 @@ }else{

for(var k in info){
if(!info.hasOwnProperty(k)){continue;}
(function(ua, detect, info, k){
it("ua: " + origin_ua + " » detector "+k+": "+info[k], function() {
var ext = "";
if(k === "browser" || k === "engine"){
ext = ";"+detect[k].fullMode+";"+(detect[k].compatible?"c":"o");
}
expect(detect[k].name+"/"+detect[k].fullVersion+ext).to.equal(info[k]);
});
})(ua, detect, info, k);
if(!info.hasOwnProperty(k)){ continue; }
makeTest(ua, detect, info, k, origin_ua);
}
}
});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc