UNPKG

@ssports_fe/ssutils

Version:
53 lines (51 loc) 1.59 kB
/** * 返回对应浏览器型号 * @return {boolean} browser 是否为某个浏览器型号 */ const getBrowser = () => { let UA = navigator.userAgent || ''; let isAndroid = (() => { return !!UA.match(/Android/i); })(); let isQQ = (() => { return /(iPad|iPhone|iPod).*? (IPad)?QQ\/([\d.]+)/.test(UA) || /\bV1_AND_SQI?_([\d.]+)(.*? QQ\/([\d.]+))?/.test(UA); })(); let isIOS = (() => { return !!UA.match(/iPhone|iPad|iPod/i) || (/Macintosh/.test(navigator.userAgent) && 'ontouchend' in document); })(); let isIphone = (() => { return !!UA.match(/iPhone/i); })(); let isIpad = (() => { return !!UA.match(/iPad|iPod/i) || (/Macintosh/.test(navigator.userAgent) && 'ontouchend' in document); })(); let isSafari = (() => { return /iPhone|iPad|iPod\/([\w.]+).*(safari).*/i.test(UA); })(); let isWx = (() => { return !!UA.match(/micromessenger/i); })(); let isWb = (() => { return !!UA.match(/weibo/i); })(); let isAndroidChrome = (() => { return (UA.match(/Chrome\/([\d.]+)/) || UA.match(/CriOS\/([\d.]+)/)) && isAndroid && !isQQ; })(); let isQZ = (() => { return UA.indexOf('Qzone/') !== -1; })(); let browser = { isAndroid: isAndroid, isIOS: isIOS, isIphone: isIphone, isIpad: isIpad, isSafari: isSafari, isQQ: isQQ, isWb: isWb, isWx: isWx, isQZ: isQZ, isAndroidChrome: isAndroidChrome }; return browser; }; module.exports = getBrowser;