移动端的环境判断问题

389 阅读1分钟

写几个方法,判断项目运行环境:

一、判断当前是微信浏览器、钉钉浏览器、其他浏览器
export function getEnv() {
    const ua = navigator.userAgent.toLowerCase()
    if (ua.indexOf("micromessenger") !== -1) {
        console.log("微信浏览器")
    } else if (ua.indexOf("dingtalk") !== -1) {
        console.log("钉钉浏览器")
    } else {
        console.log("其他浏览器")
    }
}
二、判断是Android或者IOS
export function getOSType() {
    if (/(Android)/i.test(navigator.userAgent)) {
        console.log("Android")
    } else if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
        console.log("IOS")
    } else {
        console.log("其他")
    }
}
三、判断页面是在手机端、平板端还是PC端
export function getSystem() {
    const ua = navigator.userAgent,
        isWindowsPhone = /(?:Windows Phone)/.test(ua),
        isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,
        isAndroid = /(?:Android)/.test(ua),
        isFireFox = /(?:Firefox)/.test(ua),
        //isChrome = /(?:Chrome|CriOS)/.test(ua),
        isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),
        isPhone = /(?:iPhone)/.test(ua) && !isTablet,
        isPc = !isPhone && !isAndroid && !isSymbian;

    if (isAndroid || isPhone) {
        console.log("手机")
    } else if (isTablet) {
        console.log("平板")
    } else if (isPc) {
        console.log("电脑")
    }
}