UNPKG

@yhiot/utils

Version:
76 lines (63 loc) 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.parseUserAgentV3 = exports.parseUserAgentV2 = exports.parseUserAgent = void 0; var parseUserAgent = function parseUserAgent() { var ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent; // Wechat UserAgent: "Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0" var Sys = {}; if (ua) { ua = ua.toLowerCase(); var s = ua.match(/micromessenger\/([\d.]+)/); if (s) Sys.wechat = s[1];else if (s = ua.match(/msie ([\d.]+)/)) Sys.ie = s[1];else if (s = ua.match(/firefox\/([\d.]+)/)) Sys.firefox = s[1];else if (s = ua.match(/chrome\/([\d.]+)/)) Sys.chrome = s[1];else if (s = ua.match(/opera.([\d.]+)/)) Sys.opera = s[1];else if (s = ua.match(/version\/([\d.]+).*safari/)) Sys.safari = s[1]; Sys.android = ua.indexOf('android') > -1 || ua.indexOf('adr') > -1; //android终端 Sys.ios = !!ua.match(/\(i[^;]+;( u;)? cpu.+mac os x/); //ios终端 } return Sys; }; exports.parseUserAgent = parseUserAgent; var parseUserAgentV2 = function parseUserAgentV2() { var ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent; var pf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : navigator.platform; if (!ua) return {}; var y = ua.toLowerCase(); var p = pf.toLowerCase(); var result = {}; result.mobile = !(!p.match('mac') && !p.match('win')); result.wxdebugger = -1 !== y.indexOf('wxdebugger'); // result.isWechat = -1 !== y.indexOf('micromessenger'); result.android = -1 !== y.indexOf('android'); result.ios = -1 !== y.indexOf('iphone') || -1 !== y.indexOf('ipad'); result.wechat = function () { var e = y.match(/micromessenger\/(\d+\.\d+\.\d+)/) || y.match(/micromessenger\/(\d+\.\d+)/); return e ? e[1] : null; }(); return result; }; exports.parseUserAgentV2 = parseUserAgentV2; var parseUserAgentV3 = function parseUserAgentV3() { var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent; return { mobile: /AppleWebKit.*Mobile.*/i.test(e), ios: /\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(e), android: /Android/i.test(e) || /Linux/i.test(e), windowsphone: /Windows Phone/i.test(e), iPhone: /iPhone/i.test(e), iPad: /iPad/i.test(e), webApp: !/Safari/i.test(e), MicroMessenger: /MicroMessenger/i.test(e), weibo: /Weibo/i.test(e), uc: /UCBrowser/i.test(e), qq: /MQQBrowser/i.test(e), baidu: /Baidu/i.test(e), mqq: /QQ\/([\d.]+)/i.test(e), mbaidu: /baiduboxapp/i.test(e), iqiyi: /iqiyi/i.test(e), QQLive: /QQLive/i.test(e), Safari: /Safari/i.test(e), Youku: /youku/i.test(e) }; }; exports.parseUserAgentV3 = parseUserAgentV3; var _default = parseUserAgent; exports.default = _default;