使用ua-parser库处理userAgent判断微信授权登录支持的浏览器
JS

使用ua-parser库处理userAgent判断微信授权登录支持的浏览器

admin
2023-01-12 / 0 评论 / 303 阅读 / 正在检测是否收录...
平时我们在js中判断浏览器名称和版本都是通过解析userAgent字符串来判断,但是自己挨着用字符串判断始终不能保证处理的准确性,这种时候就可以考虑找找社区有没有比较成熟的解析库了,成熟的库优势就是经过比较漫长的迭代沉淀,且根据用户反馈做了更多的优化调整。对于ua解析库,比较成熟的就是 ua-parser 了,ua-parser 有很多语言版本,支持 python php golang 等,前端直接使用 ua-parser-js 就可以了
import UAParser from 'ua-parser-js';

const WECHAT_SUPPORT_DEVICE = [
  {
    // 微信内 webview
    browser: 'wechat',
  },
  {
    // uc浏览器
    browser: 'ucbrowser',
  },
  {
    // qq 浏览器
    browser: 'qqbrowser',
  },
  {
    // ios safari 浏览器
    browser: 'mobile safari', os: 'ios',
  },
];
function isWechatSupportDevice(): boolean {
    const parser = new UAParser(navigator.userAgent); // you need to pass the user-agent for nodejs
    const parserResults = parser.getBrowser();
    const browserName = parserResults.name;
    console.log(browserName);
    const isValid = WECHAT_SUPPORT_DEVICE.some((item) => item.browser === browserName.toLowerCase());
    return isValid;
  },
0

评论 (0)

取消