ua-browser 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -0,0 +1,204 @@
1
+ # uaBrowser - 浏览器检测
2
+
3
+ 通过userAgent和浏览器环境变量检测浏览器、系统及设备类型的常用工具
4
+
5
+ ## npm安装
6
+
7
+ ```javascript
8
+ npm i ua-browser
9
+ ```
10
+
11
+ ## browser安装
12
+
13
+ ```javascript
14
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ua-browser/dist/browser.min.js"></script>
15
+ <script type="text/javascript">
16
+ window.load = function() {
17
+ var ua = uaBrowser()
18
+ }
19
+ </script>
20
+ ```
21
+
22
+ ## method
23
+
24
+ ```typescript
25
+ import { uaBrowser } from 'ua-browser'
26
+
27
+ /** 浏览器解析 */
28
+ uaBrowser(ua?: string): {
29
+ version: string;
30
+ osVersion: string;
31
+ engine: string;
32
+ browser: string;
33
+ os: string;
34
+ device: string;
35
+ isWebview: boolean;
36
+ language: string;
37
+ platfrom: string;
38
+ }
39
+
40
+ /** 检查 `webview` 浏览环境,仅支持 `android` */
41
+ uaBrowser.isWebview(ua: string): boolean
42
+
43
+ /** 检查微信小程序 */
44
+ uaBrowser.isWechatMiniapp(): boolean
45
+
46
+ /** 浏览器语言 */
47
+ uaBrowser.getLanguage(): string
48
+
49
+ /** 当前版本 */
50
+ uaBrowser.VERSION: string
51
+ ```
52
+
53
+ ## 浏览器
54
+ ```typescript
55
+ type browser =
56
+ | 'Safari'
57
+ | 'Chrome'
58
+ | 'IE'
59
+ | 'Edge'
60
+ | 'Firefox'
61
+ | 'Firefox Focus'
62
+ | 'Chromium'
63
+ | 'Opera'
64
+ | 'Vivaldi'
65
+ | 'Yandex'
66
+ | 'Arora'
67
+ | 'Lunascape'
68
+ | 'QupZilla'
69
+ | 'Coc Coc'
70
+ | 'Kindle'
71
+ | 'Iceweasel'
72
+ | 'Konqueror'
73
+ | 'Iceape'
74
+ | 'SeaMonkey'
75
+ | 'Epiphany'
76
+ | '360'
77
+ | '360EE'
78
+ | '360SE'
79
+ | 'UC'
80
+ | 'QQBrowser'
81
+ | 'QQ'
82
+ | 'Baidu'
83
+ | 'Maxthon'
84
+ | 'Sogou'
85
+ | 'Liebao'
86
+ | '2345Explorer'
87
+ | '115Browser'
88
+ | 'TheWorld'
89
+ | 'XiaoMi'
90
+ | 'Quark'
91
+ | 'Qiyu'
92
+ | 'Wechat'
93
+ | 'WechatWork'
94
+ | 'Taobao'
95
+ | 'Alipay'
96
+ | 'Weibo'
97
+ | 'Douban'
98
+ | 'Suning'
99
+ | 'iQiYi'
100
+ | 'DingTalk'
101
+ | 'Huawei'
102
+ | 'Vivo'
103
+ | 'Firefox Nightly'
104
+ | 'Wechat Miniapp'
105
+ ```
106
+
107
+ ## 内核
108
+
109
+ ```typescript
110
+ type engine =
111
+ | 'Trident'
112
+ | 'Presto'
113
+ | 'WebKit'
114
+ | 'Gecko'
115
+ | 'KHTML'
116
+ | 'Blink'
117
+ | 'EdgeHTML'
118
+ ```
119
+
120
+ ## 系统或平台
121
+
122
+ ```typescript
123
+ type os =
124
+ | 'Windows'
125
+ | 'Linux'
126
+ | 'MacOS'
127
+ | 'Android'
128
+ | 'HarmonyOS'
129
+ | 'Ubuntu'
130
+ | 'FreeBSD'
131
+ | 'Debian'
132
+ | 'Windows Phone'
133
+ | 'BlackBerry'
134
+ | 'MeeGo'
135
+ | 'Symbian'
136
+ | 'iOS'
137
+ | 'Chrome OS'
138
+ | 'WebOS'
139
+ ```
140
+
141
+ ## 设备类型
142
+
143
+ ```typescript
144
+ type device =
145
+ | 'Mobile'
146
+ | 'Tablet'
147
+ | 'Pc'
148
+ ```
149
+
150
+ ## 浏览器支持
151
+
152
+ | 浏览器 | 标识 |
153
+ | :-- | :-- |
154
+ | 苹果系统默认浏览器 | `Safari` |
155
+ | 谷歌浏览器 | `Chrome` |
156
+ | 微软IE浏览器 | `IE` |
157
+ | 微软新一代浏览器 | `Edge` |
158
+ | 火狐浏览器 | `Firefox` |
159
+ | 火狐浏览器 | `Firefox Focus` |
160
+ | 谷歌浏览器开源版 | `Chromium` |
161
+ | Opera浏览器 | `Opera` |
162
+ | Opera联合创始人发布 | `Vivaldi` |
163
+ | 俄罗斯最大搜索引擎Yandex出品 | `Yandex` |
164
+ | 基于webkit和Qt的轻量级浏览器 | `Arora` |
165
+ | 来自日本的三引擎浏览器 | `Lunascape` |
166
+ | 轻量级跨平台浏览器 | `QupZilla` |
167
+ | 越南搜索引擎浏览器 | `Coc Coc` |
168
+ | 亚马逊电子书 | `Kindle` |
169
+ | Firefox浏览器的Debian再发布版 | `Iceweasel` |
170
+ | Konqueror | `Konqueror` |
171
+ | Iceape | `Iceape` |
172
+ | SeaMonkey | `SeaMonkey` |
173
+ | Epiphany | `Epiphany` |
174
+ | 360浏览器(手机版) | `360` |
175
+ | 360安全浏览器 | `360EE` |
176
+ | 360极速浏览器 | `360SE` |
177
+ | UC浏览器 | `UC` |
178
+ | QQ浏览器 | `QQBrowser` |
179
+ | QQ客户端 | `QQ` |
180
+ | 百度浏览器 | `Baidu` |
181
+ | 傲游浏览器 | `Maxthon` |
182
+ | 搜狗浏览器 | `Sogou` |
183
+ | 猎豹浏览器 | `Liebao` |
184
+ | 2345浏览器 | `2345Explorer` |
185
+ | 115浏览器 | `115Browser` |
186
+ | 世界之窗浏览器 | `TheWorld` |
187
+ | 小米浏览器 | `XiaoMi` |
188
+ | 夸克浏览器 | `Quark` |
189
+ | 旗鱼浏览器 | `Qiyu` |
190
+ | 微信手机客户端 | `Wechat` |
191
+ | 企业微信客户端 | `WechatWork` |
192
+ | 淘宝手机客户端 | `Taobao` |
193
+ | 支付宝手机客户端 | `Alipay` |
194
+ | 微博手机客户端 | `Weibo` |
195
+ | 豆瓣手机客户端 | `Douban` |
196
+ | 苏宁易购手机客户端 | `Suning` |
197
+ | 爱奇艺手机客户端 | `iQiYi` |
198
+ | 钉钉手机客户端 | `DingTalk` |
199
+ | 华为浏览器 | `Huawei` |
200
+ | Vivo浏览器 | `Vivo` |
201
+ | Firefox 下一代网络浏览器Nightly | `Firefox Nightly` |
202
+ | 微信小程序 | `Wechat Miniapp` |
203
+
204
+
@@ -11,7 +11,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
11
11
  })(this, function () {
12
12
  'use strict';
13
13
 
14
- var version = "1.0.0";
14
+ var version = "0.1.0";
15
15
  var UA = navigator.userAgent;
16
16
  var mimeTypes = navigator.mimeTypes;
17
17
  var platfrom = navigator.platform;
@@ -1 +1 @@
1
- function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,r,n){return r&&_defineProperties(e.prototype,r),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}!function(e,r){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).uaBrowser=r()}(this,(function(){"use strict";var e=navigator.userAgent,r=navigator.mimeTypes,n=navigator.platform,o={Trident:/(Trident|NET CLR)/,Presto:/Presto/,WebKit:/AppleWebKit/,Gecko:/Gecko\//,KHTML:/KHTML\//},i={Safari:/Safari/,Chrome:/(Chrome|CriOS)/,IE:/(MSIE|Trident)/,Edge:/(Edge|Edg\/|EdgA|EdgiOS)/,Firefox:/(Firefox|FxiOS)/,"Firefox Focus":/Focus/,Chromium:/Chromium/,Opera:/(Opera|OPR|OPT)/,Vivaldi:/Vivaldi/,Yandex:/YaBrowser/,Arora:/Arora/,Lunascape:/Lunascape/,QupZilla:/QupZilla/,"Coc Coc":/coc_coc_browser/,Kindle:/(Kindle|Silk\/)/,Iceweasel:/Iceweasel/,Konqueror:/Konqueror/,Iceape:/Iceape/,SeaMonkey:/SeaMonkey/,Epiphany:/Epiphany/,360:/(QihooBrowser|QHBrowser)/,"360EE":/360EE/,"360SE":/360SE/,UC:/(UCBrowser|UBrowser|UCWEB)/,QQBrowser:/QQBrowser/,QQ:/QQ\//,Baidu:/(Baidu|BIDUBrowser|baidubrowser|baiduboxapp|BaiduHD)/,Maxthon:/Maxthon/,Sogou:/(Metasr|Sogou)/,Liebao:/(LBBROWSER|LieBaoFast)/,"2345Explorer":/2345Explorer/,"115Browser":/115Browser/,TheWorld:/TheWorld/,XiaoMi:/MiuiBrowser/,Quark:/Quark/,Qiyu:/Qiyu/,Wechat:/MicroMessenger/,WechatWork:/wxwork\//,Taobao:/AliApp\(TB/,Alipay:/AliApp\(AP/,Weibo:/Weibo/,Douban:/com\.douban\.frodo/,Suning:/SNEBUY-APP/,iQiYi:/IqiyiAp/,DingTalk:/DingTalk/,Huawei:/(HuaweiBrowser|HUAWEI\/|HONOR)/,Vivo:/VivoBrowser/},a={Windows:/Windows/,Linux:/(Linux|X11)/,MacOS:/Macintosh/,Android:/(Android|Adr)/,HarmonyOS:/HarmonyOS/,Ubuntu:/Ubuntu/,FreeBSD:/FreeBSD/,Debian:/Debian/,"Windows Phone":/(IEMobile|Windows Phone)/,BlackBerry:/(BlackBerry|RIM)/,MeeGo:/MeeGo/,Symbian:/Symbian/,iOS:/like Mac OS X/,"Chrome OS":/CrOS/,WebOS:/hpwOS/},u={Mobile:/(Mobi|iPh|480)/,Tablet:/(Tablet|Pad|Nexus 7)/},t={isWebview:/; wv/},c=["Mobile","Tablet"],s=["Windows","Linux","MacOS","Android","HarmonyOS","Ubuntu","FreeBSD","Debian","Windows Phone","BlackBerry","MeeGo","Symbian","iOS","Chrome OS","WebOS"],l=["Trident","Presto","WebKit","Gecko","KHTML"],p=["Safari","Chrome","IE","Edge","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360EE","360SE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","Liebao","2345Explorer","115Browser","TheWorld","XiaoMi","Quark","Qiyu","Wechat","WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","DingTalk","Huawei","Vivo"],d=function(e){try{return!!r.namedItem(e)}catch(e){return!1}},$=function(r,n){for(var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=r.length;i--;){var a=r[i];if(n[a].test(o))return a}return"unknown"},f=function(){return(navigator.browserLanguage||navigator.language).replace(/-\w+/g,(function(e){return e.toUpperCase()}))},w=function(){return"__wxjs_environment"in window&&"miniprogram"===window.__wxjs_environment},h=function(e){return t.isWebview.test(e)},b=new(function(){function r(n){var o=this;_classCallCheck(this,r),this.ua=e,this.version={Safari:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return o.ua.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return o.ua.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return o.ua.replace(/^.*Edge\/([\d.]+).*$/,"$1").replace(/^.*Edg\/([\d.]+).*$/,"$1").replace(/^.*EdgA\/([\d.]+).*$/,"$1").replace(/^.*EdgiOS\/([\d.]+).*$/,"$1")},Firefox:function(){return o.ua.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return o.ua.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return o.ua.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return o.ua.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1").replace(/^.*OPT\/([\d.]+).*$/,"$1")},Vivaldi:function(){return o.ua.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return o.ua.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return o.ua.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return o.ua.replace(/^.*Lunascape[\s]([\d.]+).*$/,"$1")},QupZilla:function(){return o.ua.replace(/^.*QupZilla[\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return o.ua.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return o.ua.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return o.ua.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return o.ua.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return o.ua.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return o.ua.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},Maxthon:function(){return o.ua.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return o.ua.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return o.ua.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return o.ua.replace(/^.*BIDUBrowser[\s/]([\d.]+).*$/,"$1").replace(/^.*baiduboxapp\/([\d.]+).*$/,"$1")},UC:function(){return o.ua.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return o.ua.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},TheWorld:function(){return o.ua.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return o.ua.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Vivo:function(){return o.ua.replace(/^.*VivoBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return o.ua.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return o.ua.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return o.ua.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return o.ua.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return o.ua.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return o.ua.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return o.ua.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return o.ua.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return o.ua.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return o.ua.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")},DingTalk:function(){return o.ua.replace(/^.*DingTalk\/([\d.]+).*$/,"$1")},Huawei:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1").replace(/^.*HuaweiBrowser\/([\d.]+).*$/,"$1")},"115Browser":function(){return o.ua.replace(/^.*115Browser\/([\d.]+).*$/,"$1")},360:function(){return o.ua.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{86:"13.0",78:"12.0",69:"11.0",63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{86:"13.0",78:"12.0",69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"2345Explorer":function(){return{69:"10.0",55:"9.9"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||o.ua.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1").replace(/^.*Mb2345Browser\/([\d.]+).*$/,"$1")},Liebao:function(){var e="";/LieBaoFast/.test(o.ua)&&(e=o.ua.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var r=o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[r]||""}},this.osVersion={Android:function(){return o.ua.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return o.ua.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return o.ua.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return o.ua.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},MacOS:function(){return o.ua.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return o.ua.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")},HarmonyOS:function(){return{10:"2"}[o.ua.replace(/^Mozilla.*Android ([\d.]+)[;)].*$/,"$1")]||""},Windows:function(){var e=o.ua.replace(/^Mozilla\/\d.0 \(Windows NT ([\d.]+);.*$/,"$1");return{10:"10",6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e}},n&&(this.ua=n)}return _createClass(r,[{key:"getOs",value:function(){return $(s,a,this.ua)}},{key:"getEngine",value:function(){return $(l,o,this.ua)}},{key:"getBrowser",value:function(){return $(p,i,this.ua)}},{key:"getDevice",value:function(){if("MacIntel"===n&&navigator.maxTouchPoints>1)return"Tablet";var e=$(c,u,this.ua);return"unknown"===e?"PC":e}},{key:"getEnv",value:function(r){var o,a;this.ua=r||e;var u={version:"unknown",osVersion:"unknown",engine:this.getEngine(),browser:this.getBrowser(),os:this.getOs(),device:this.getDevice(),isWebview:h(this.ua),language:null!==(o=f())&&void 0!==o?o:"unknown",platfrom:null!=n?n:"unknown"},t=!1;if("chrome"in window){var c=window.chrome,s=this.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1");c.adblock2345||c.common2345?u.browser="2345Explorer":d("application/360softmgrplugin")||d("application/mozilla-npqihooquicklogin")||s>"36"&&window.showModalDialog?t=!0:s>"45"&&!(t=d("application/vnd.chromium.remoting-viewer"))&&s>="69"&&(t=d("application/hwepass2001.installepass2001")||d("application/asx"))}return"Mobile"===u.device&&/iPad/.test(this.ua)?u.device="Tablet":t&&(d("application/gameplugin")||!(null===(a=null===navigator||void 0===navigator?void 0:navigator.connection)||void 0===a?void 0:a.saveData)?u.browser="360SE":u.browser="360EE"),"Baidu"===u.browser&&i.Opera.test(this.ua)&&(u.browser="Opera"),u.os in this.osVersion&&(u.osVersion=this.osVersion[u.os](),u.osVersion===this.ua&&(u.osVersion="unknown")),u.browser in this.version&&(u.version=this.version[u.browser](),u.version===this.ua&&(u.version="unknown")),"Chrome"===u.browser&&this.ua.match(/\S+Browser/)?(u.browser=this.ua.match(/\S+Browser/)[0],u.version=this.ua.replace(/^.*Browser\/([\d.]+).*$/,"$1")):"Firefox"!==u.browser||!("clientInformation"in window)&&"u2f"in window?"Wechat"===u.browser&&w()&&(u.browser="Wechat Miniapp"):u.browser="".concat(u.browser," Nightly"),"Edge"===u.browser?u.engine=parseInt(u.version)>75?"Blink":"EdgeHTML":(i.Chrome.test(this.ua)&&"WebKit"===u.engine&&parseInt(this.version.Chrome())>27||"Opera"===u.browser&&parseInt(u.version)>12||"Yandex"===u.browser)&&(u.engine="Blink"),u}}]),r}());function g(e){return b.getEnv(e)}return g.isWebview=h,g.isWechatMiniapp=w,g.getLanguage=f,g.VERSION="1.0.0",g}));
1
+ function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,r,n){return r&&_defineProperties(e.prototype,r),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}!function(e,r){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).uaBrowser=r()}(this,(function(){"use strict";var e=navigator.userAgent,r=navigator.mimeTypes,n=navigator.platform,o={Trident:/(Trident|NET CLR)/,Presto:/Presto/,WebKit:/AppleWebKit/,Gecko:/Gecko\//,KHTML:/KHTML\//},i={Safari:/Safari/,Chrome:/(Chrome|CriOS)/,IE:/(MSIE|Trident)/,Edge:/(Edge|Edg\/|EdgA|EdgiOS)/,Firefox:/(Firefox|FxiOS)/,"Firefox Focus":/Focus/,Chromium:/Chromium/,Opera:/(Opera|OPR|OPT)/,Vivaldi:/Vivaldi/,Yandex:/YaBrowser/,Arora:/Arora/,Lunascape:/Lunascape/,QupZilla:/QupZilla/,"Coc Coc":/coc_coc_browser/,Kindle:/(Kindle|Silk\/)/,Iceweasel:/Iceweasel/,Konqueror:/Konqueror/,Iceape:/Iceape/,SeaMonkey:/SeaMonkey/,Epiphany:/Epiphany/,360:/(QihooBrowser|QHBrowser)/,"360EE":/360EE/,"360SE":/360SE/,UC:/(UCBrowser|UBrowser|UCWEB)/,QQBrowser:/QQBrowser/,QQ:/QQ\//,Baidu:/(Baidu|BIDUBrowser|baidubrowser|baiduboxapp|BaiduHD)/,Maxthon:/Maxthon/,Sogou:/(Metasr|Sogou)/,Liebao:/(LBBROWSER|LieBaoFast)/,"2345Explorer":/2345Explorer/,"115Browser":/115Browser/,TheWorld:/TheWorld/,XiaoMi:/MiuiBrowser/,Quark:/Quark/,Qiyu:/Qiyu/,Wechat:/MicroMessenger/,WechatWork:/wxwork\//,Taobao:/AliApp\(TB/,Alipay:/AliApp\(AP/,Weibo:/Weibo/,Douban:/com\.douban\.frodo/,Suning:/SNEBUY-APP/,iQiYi:/IqiyiAp/,DingTalk:/DingTalk/,Huawei:/(HuaweiBrowser|HUAWEI\/|HONOR)/,Vivo:/VivoBrowser/},a={Windows:/Windows/,Linux:/(Linux|X11)/,MacOS:/Macintosh/,Android:/(Android|Adr)/,HarmonyOS:/HarmonyOS/,Ubuntu:/Ubuntu/,FreeBSD:/FreeBSD/,Debian:/Debian/,"Windows Phone":/(IEMobile|Windows Phone)/,BlackBerry:/(BlackBerry|RIM)/,MeeGo:/MeeGo/,Symbian:/Symbian/,iOS:/like Mac OS X/,"Chrome OS":/CrOS/,WebOS:/hpwOS/},u={Mobile:/(Mobi|iPh|480)/,Tablet:/(Tablet|Pad|Nexus 7)/},t={isWebview:/; wv/},c=["Mobile","Tablet"],s=["Windows","Linux","MacOS","Android","HarmonyOS","Ubuntu","FreeBSD","Debian","Windows Phone","BlackBerry","MeeGo","Symbian","iOS","Chrome OS","WebOS"],l=["Trident","Presto","WebKit","Gecko","KHTML"],p=["Safari","Chrome","IE","Edge","Firefox","Firefox Focus","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Coc Coc","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","360","360EE","360SE","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","Liebao","2345Explorer","115Browser","TheWorld","XiaoMi","Quark","Qiyu","Wechat","WechatWork","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","DingTalk","Huawei","Vivo"],d=function(e){try{return!!r.namedItem(e)}catch(e){return!1}},$=function(r,n){for(var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=r.length;i--;){var a=r[i];if(n[a].test(o))return a}return"unknown"},f=function(){return(navigator.browserLanguage||navigator.language).replace(/-\w+/g,(function(e){return e.toUpperCase()}))},w=function(){return"__wxjs_environment"in window&&"miniprogram"===window.__wxjs_environment},h=function(e){return t.isWebview.test(e)},b=new(function(){function r(n){var o=this;_classCallCheck(this,r),this.ua=e,this.version={Safari:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1")},Chrome:function(){return o.ua.replace(/^.*Chrome\/([\d.]+).*$/,"$1").replace(/^.*CriOS\/([\d.]+).*$/,"$1")},IE:function(){return o.ua.replace(/^.*MSIE ([\d.]+).*$/,"$1").replace(/^.*rv:([\d.]+).*$/,"$1")},Edge:function(){return o.ua.replace(/^.*Edge\/([\d.]+).*$/,"$1").replace(/^.*Edg\/([\d.]+).*$/,"$1").replace(/^.*EdgA\/([\d.]+).*$/,"$1").replace(/^.*EdgiOS\/([\d.]+).*$/,"$1")},Firefox:function(){return o.ua.replace(/^.*Firefox\/([\d.]+).*$/,"$1").replace(/^.*FxiOS\/([\d.]+).*$/,"$1")},"Firefox Focus":function(){return o.ua.replace(/^.*Focus\/([\d.]+).*$/,"$1")},Chromium:function(){return o.ua.replace(/^.*Chromium\/([\d.]+).*$/,"$1")},Opera:function(){return o.ua.replace(/^.*Opera\/([\d.]+).*$/,"$1").replace(/^.*OPR\/([\d.]+).*$/,"$1").replace(/^.*OPT\/([\d.]+).*$/,"$1")},Vivaldi:function(){return o.ua.replace(/^.*Vivaldi\/([\d.]+).*$/,"$1")},Yandex:function(){return o.ua.replace(/^.*YaBrowser\/([\d.]+).*$/,"$1")},Arora:function(){return o.ua.replace(/^.*Arora\/([\d.]+).*$/,"$1")},Lunascape:function(){return o.ua.replace(/^.*Lunascape[\s]([\d.]+).*$/,"$1")},QupZilla:function(){return o.ua.replace(/^.*QupZilla[\s]([\d.]+).*$/,"$1")},"Coc Coc":function(){return o.ua.replace(/^.*coc_coc_browser\/([\d.]+).*$/,"$1")},Kindle:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1")},Iceweasel:function(){return o.ua.replace(/^.*Iceweasel\/([\d.]+).*$/,"$1")},Konqueror:function(){return o.ua.replace(/^.*Konqueror\/([\d.]+).*$/,"$1")},Iceape:function(){return o.ua.replace(/^.*Iceape\/([\d.]+).*$/,"$1")},SeaMonkey:function(){return o.ua.replace(/^.*SeaMonkey\/([\d.]+).*$/,"$1")},Epiphany:function(){return o.ua.replace(/^.*Epiphany\/([\d.]+).*$/,"$1")},Maxthon:function(){return o.ua.replace(/^.*Maxthon\/([\d.]+).*$/,"$1")},QQBrowser:function(){return o.ua.replace(/^.*QQBrowser\/([\d.]+).*$/,"$1")},QQ:function(){return o.ua.replace(/^.*QQ\/([\d.]+).*$/,"$1")},Baidu:function(){return o.ua.replace(/^.*BIDUBrowser[\s/]([\d.]+).*$/,"$1").replace(/^.*baiduboxapp\/([\d.]+).*$/,"$1")},UC:function(){return o.ua.replace(/^.*UC?Browser\/([\d.]+).*$/,"$1")},Sogou:function(){return o.ua.replace(/^.*SE ([\d.X]+).*$/,"$1").replace(/^.*SogouMobileBrowser\/([\d.]+).*$/,"$1")},TheWorld:function(){return o.ua.replace(/^.*TheWorld ([\d.]+).*$/,"$1")},XiaoMi:function(){return o.ua.replace(/^.*MiuiBrowser\/([\d.]+).*$/,"$1")},Vivo:function(){return o.ua.replace(/^.*VivoBrowser\/([\d.]+).*$/,"$1")},Quark:function(){return o.ua.replace(/^.*Quark\/([\d.]+).*$/,"$1")},Qiyu:function(){return o.ua.replace(/^.*Qiyu\/([\d.]+).*$/,"$1")},Wechat:function(){return o.ua.replace(/^.*MicroMessenger\/([\d.]+).*$/,"$1")},WechatWork:function(){return o.ua.replace(/^.*wxwork\/([\d.]+).*$/,"$1")},Taobao:function(){return o.ua.replace(/^.*AliApp\(TB\/([\d.]+).*$/,"$1")},Alipay:function(){return o.ua.replace(/^.*AliApp\(AP\/([\d.]+).*$/,"$1")},Weibo:function(){return o.ua.replace(/^.*weibo__([\d.]+).*$/,"$1")},Douban:function(){return o.ua.replace(/^.*com.douban.frodo\/([\d.]+).*$/,"$1")},Suning:function(){return o.ua.replace(/^.*SNEBUY-APP([\d.]+).*$/,"$1")},iQiYi:function(){return o.ua.replace(/^.*IqiyiVersion\/([\d.]+).*$/,"$1")},DingTalk:function(){return o.ua.replace(/^.*DingTalk\/([\d.]+).*$/,"$1")},Huawei:function(){return o.ua.replace(/^.*Version\/([\d.]+).*$/,"$1").replace(/^.*HuaweiBrowser\/([\d.]+).*$/,"$1")},"115Browser":function(){return o.ua.replace(/^.*115Browser\/([\d.]+).*$/,"$1")},360:function(){return o.ua.replace(/^.*QihooBrowser\/([\d.]+).*$/,"$1")},"360SE":function(){return{86:"13.0",78:"12.0",69:"11.0",63:"10.0",55:"9.1",45:"8.1",42:"8.0",31:"7.0",21:"6.3"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"360EE":function(){return{86:"13.0",78:"12.0",69:"11.0",63:"9.5",55:"9.0",50:"8.7",30:"7.5"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||""},"2345Explorer":function(){return{69:"10.0",55:"9.9"}[o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1")]||o.ua.replace(/^.*2345Explorer\/([\d.]+).*$/,"$1").replace(/^.*Mb2345Browser\/([\d.]+).*$/,"$1")},Liebao:function(){var e="";/LieBaoFast/.test(o.ua)&&(e=o.ua.replace(/^.*LieBaoFast\/([\d.]+).*$/,"$1"));var r=o.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1");return e||{57:"6.5",49:"6.0",46:"5.9",42:"5.3",39:"5.2",34:"5.0",29:"4.5",21:"4.0"}[r]||""}},this.osVersion={Android:function(){return o.ua.replace(/^.*Android ([\d.]+);.*$/,"$1")},iOS:function(){return o.ua.replace(/^.*OS ([\d_]+) like.*$/,"$1").replace(/_/g,".")},Debian:function(){return o.ua.replace(/^.*Debian\/([\d.]+).*$/,"$1")},"Windows Phone":function(){return o.ua.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/,"$2")},MacOS:function(){return o.ua.replace(/^.*Mac OS X ([\d_]+).*$/,"$1").replace(/_/g,".")},WebOS:function(){return o.ua.replace(/^.*hpwOS\/([\d.]+);.*$/,"$1")},HarmonyOS:function(){return{10:"2"}[o.ua.replace(/^Mozilla.*Android ([\d.]+)[;)].*$/,"$1")]||""},Windows:function(){var e=o.ua.replace(/^Mozilla\/\d.0 \(Windows NT ([\d.]+);.*$/,"$1");return{10:"10",6.4:"10",6.3:"8.1",6.2:"8",6.1:"7","6.0":"Vista",5.2:"XP",5.1:"XP","5.0":"2000"}[e]||e}},n&&(this.ua=n)}return _createClass(r,[{key:"getOs",value:function(){return $(s,a,this.ua)}},{key:"getEngine",value:function(){return $(l,o,this.ua)}},{key:"getBrowser",value:function(){return $(p,i,this.ua)}},{key:"getDevice",value:function(){if("MacIntel"===n&&navigator.maxTouchPoints>1)return"Tablet";var e=$(c,u,this.ua);return"unknown"===e?"PC":e}},{key:"getEnv",value:function(r){var o,a;this.ua=r||e;var u={version:"unknown",osVersion:"unknown",engine:this.getEngine(),browser:this.getBrowser(),os:this.getOs(),device:this.getDevice(),isWebview:h(this.ua),language:null!==(o=f())&&void 0!==o?o:"unknown",platfrom:null!=n?n:"unknown"},t=!1;if("chrome"in window){var c=window.chrome,s=this.ua.replace(/^.*Chrome\/([\d]+).*$/,"$1");c.adblock2345||c.common2345?u.browser="2345Explorer":d("application/360softmgrplugin")||d("application/mozilla-npqihooquicklogin")||s>"36"&&window.showModalDialog?t=!0:s>"45"&&!(t=d("application/vnd.chromium.remoting-viewer"))&&s>="69"&&(t=d("application/hwepass2001.installepass2001")||d("application/asx"))}return"Mobile"===u.device&&/iPad/.test(this.ua)?u.device="Tablet":t&&(d("application/gameplugin")||!(null===(a=null===navigator||void 0===navigator?void 0:navigator.connection)||void 0===a?void 0:a.saveData)?u.browser="360SE":u.browser="360EE"),"Baidu"===u.browser&&i.Opera.test(this.ua)&&(u.browser="Opera"),u.os in this.osVersion&&(u.osVersion=this.osVersion[u.os](),u.osVersion===this.ua&&(u.osVersion="unknown")),u.browser in this.version&&(u.version=this.version[u.browser](),u.version===this.ua&&(u.version="unknown")),"Chrome"===u.browser&&this.ua.match(/\S+Browser/)?(u.browser=this.ua.match(/\S+Browser/)[0],u.version=this.ua.replace(/^.*Browser\/([\d.]+).*$/,"$1")):"Firefox"!==u.browser||!("clientInformation"in window)&&"u2f"in window?"Wechat"===u.browser&&w()&&(u.browser="Wechat Miniapp"):u.browser="".concat(u.browser," Nightly"),"Edge"===u.browser?u.engine=parseInt(u.version)>75?"Blink":"EdgeHTML":(i.Chrome.test(this.ua)&&"WebKit"===u.engine&&parseInt(this.version.Chrome())>27||"Opera"===u.browser&&parseInt(u.version)>12||"Yandex"===u.browser)&&(u.engine="Blink"),u}}]),r}());function g(e){return b.getEnv(e)}return g.isWebview=h,g.isWechatMiniapp=w,g.getLanguage=f,g.VERSION="0.1.0",g}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ua-browser",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "uaBrowser - 通过 useragent和浏览器环境变量检测浏览器、系统及设备类型工具",
5
5
  "main": "index.js",
6
6
  "types": "./dist/index.d.ts",