美文网首页
js使用userAge判断设备类型

js使用userAge判断设备类型

作者: Yinzhishan | 来源:发表于2022-08-18 13:57 被阅读0次

    开发实际业务的时候,我们有时会需要根据设备类型来动态的加载数据等,所以就要有判断设备类型的公共方法;

    const os = (u = window.navigator.userAgent) => {
        return {
            // 不同浏览器及终端
            isMobile:
          !!u.match(/AppleWebKit.*Mobile/i) ||
          !!u.match(
            /MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/
          ),
            isWechat: !!u.match(/MicroMessenger/i),
            isQQ: !!u.match(/QQ/i),
            isIos: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
            isAndroid: !!u.match(/(Android);?[\s/]+([\d.]+)?/),
            isiPhone: !!u.match(/(iPhone\sOS)\s([\d_]+)/),
            isSafari: !!u.match(/Safari/),
            isFirefox: !!u.match(/Firefox/),
            isOpera: !!u.match(/Opera/),
            isChrome: u.match(/Chrome/i) !== null &&
          u.match(/Version\/\d+\.\d+(\.\d+)?\sChrome\//i) === null ?
                true : false,
            isDeskTop: (() => {
                const Agents = [
                    'Android',
                    'iPhone',
                    'SymbianOS',
                    'Windows Phone',
                    'iPad',
                    'iPod',
                    'okhttp/3.9.1'
                ];
                let flag = true;
                for (let i = 0, LEN = Agents.length; i < LEN; i++) {
                    if (u.indexOf(Agents[i]) !== -1) {
                        flag = false;
                        break;
                    }
                }
                return flag;
            })()
        };
    };
    
    export { os };
    

    输出


    image.png

    相关文章

      网友评论

          本文标题:js使用userAge判断设备类型

          本文链接:https://www.haomeiwen.com/subject/tlgjgrtx.html