@librecoder/tools
Version:

44 lines (41 loc) • 1.78 kB
JavaScript
// 是否移动端
export const isMobile = () => /(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i.test(navigator.userAgent)
// 是否微信浏览器
export const isWechat = () => /microMessenger/i.test(navigator.userAgent);
export const isAndroid = () => /android/i.test(navigator.userAgent);
export const isIpad = () => /ipad/i.test(navigator.userAgent);
export const isIphone = () => /iphone/i.test(navigator.userAgent);
export const isWindowsPhone = () => /Windows Phone/i.test(navigator.userAgent);
export const isMac = () => /macintosh/i.test(navigator.userAgent);
export const isWindows = () => /windows/i.test(navigator.userAgent);
export const isLinux = () => /linux/i.test(navigator.userAgent);
export const isPC = () => !isMobile()
export const getAgentType = () => {
let arr = [];
if (isMobile()) {
arr.push('mobile')
if (isWechat()) {
arr.push('wechat')
} else if (isAndroid()) {
arr.push('android')
} else if (isIpad()) {
arr.push('iPad')
} else if (isIphone()) {
arr.push('iPhone')
} else if (isWindowsPhone()) {
arr.push('windowsPhone')
}
} else {
arr.push('pc')
if (isWechat()) {
arr.push('wechat')
} else if (isMac()) {
arr.push('mac')
} else if (isLinux()) {
arr.push('linux')
} else if (isWindows()) {
arr.push('windows')
}
}
return arr.join(':');
}