js区 获取当前客户端系统 环境

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 08:20   16   0
/*
 * @Autor: 肖皓文
 * @Date: 2020-12-21 19:24:11
 */

/**
 * @return { Object }
 */

const ua = navigator.userAgent.toLowerCase();
const platform = {};
const MAP_EXP = {
    Weixin: /micromessenger/i,
    Mac: /(mac os x)\s+([\w_]+)/,
    Windows: /(windows nt)\s+([\w.]+)/,
    Ios: /(i(?:pad|phone|pod))(?:.*)cpu(?: i(?:pad|phone|pod))? os (\d+(?:[\.|_]\d+){1,})/,
    Android: /(android)\s+([\d.]+)/,
    Ipad: /(ipad).*os\s([\d_]+)/,
    Iphone: /(iphone\sos)\s([\d_]+)/,
};
for (let key in MAP_EXP) {
    const uaMatch = ua.match(MAP_EXP[key]);
    platform[`is${key}`] = !!uaMatch;
    if (!!uaMatch && !platform.version) {
        platform.version = key === 'Ios' ? uaMatch[2].replace(/_/g, '.') : uaMatch[2];
    }
}

export { platform };

实现的核心代码 目前只支持检测 微信 mac windows ios android ipad iphone

使用场景主要在微信 pc系统的型号没有做太多处理

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP