Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用ua-parser库处理userAgent判断微信授权登录支持的浏览器

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

作者头像
fastmock
发布于 2023-10-23 07:31:58
发布于 2023-10-23 07:31:58
56300
代码可运行
举报
文章被收录于专栏:fastmockfastmock
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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;
  },
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年01月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在服务器端获取和解析浏览器 UA
浏览器的 UA(User-Agent)是一个字符串,包含了浏览器名称、版本、操作系统等信息。每个浏览器都有自己的 UA 字符串,服务器可以通过读取该字符串来获取关于访问者的信息。 注意,解析 UA 字符串并不总是准确,因为有些用户可能会篡改 UA 字符串。因此,在使用解析 UA 字符串获取访问者信息时,需要注意这些信息可能不准确。
曈曈too
2023/02/27
3.8K1
一个小巧实用的User-Agent解析库
UAParser.js 有时我们需要判断客户端的一些信息,如浏览器的类型、型号等,然后进行相应处理,例如,如果是使用微信访问的,就怎么怎么处理。 这就需要从 User-Agent中获取相应信息,UAParser.js 就是一个专业的 User-Agent 解析工具库。 主要特点: 功能全,使用方便 封装好了方法,可以方便的获取 浏览器的类型、布局引擎、操作系统、cpu类型、设备类型 浏览器、node.js中都可以使用 可用范围广:jQuery/Zepto 插件、Bower/Meteor包、 RequireJ
dys
2018/04/04
5.1K0
window.navigator.userAgent用来区分设备和浏览器
navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如
全栈程序员站长
2022/10/01
2.1K0
浏览器头User-Agent提取工具
依赖 <!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils --> <dependency> <groupId>eu.bitwalker</groupId> <artifactId>UserAgentUtils</artifactId> <version>1.21</version> </dependency> 测试 @
高大北
2022/10/27
7340
移动端,PC端,微信等常用平台和浏览器判断
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105895.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
7630
js判断浏览器信息
本示例讲述了关于js获取各种浏览器信息,例如微信浏览器,qq内置浏览器,电脑火狐浏览器,qq浏览器等等
仙士可
2019/12/18
8.2K0
JavaScript详细判断浏览器运行环境
看到标题,大家就能想起这个需求在很多项目上都能用到。我们部署在Web服务器上的前端应用,既可以用PC浏览器访问,也可以用手机浏览器访问,再加上现在智能设备的推广,我们甚至能在车载系统、穿戴设备和电视平台上访问。
JowayYoung
2020/04/01
2.3K1
JavaScript详细判断浏览器运行环境
Typecho——非插件方式实现评论显示系统信息和浏览器信息
其实就是将browser.js转化为PHP代码,不过因为本身typecho评论存储的信息有限,所以针对 ~c 360浏览器和win11 c~并不能进行很好的区分,如果很在意这一部分的话,其实也可以改造的; 目前针对win11的区分可参考how-to-detect-win11,主要platformVersion大于13的话,就可以确定是Windows 11,不过userAgentData存在兼容性问题;
思索
2024/08/15
1580
Typecho——非插件方式实现评论显示系统信息和浏览器信息
【前端监控】监控数据都有什么
用户的账号信息。如果是QQ 登陆,就是QQ 号,微信登陆就是 微信uin(不是微信号),或者你们公司自己登录体系下的账号
神仙朱
2021/09/10
1.5K0
【前端监控】监控数据都有什么
js浏览器版本和移动端版本总结
今天俺跟大家分享一个工具方法,用来判断浏览器内核版本信息,判断是否会移动端,判断是否为ios。
IT工作者
2022/02/07
2.2K0
Navigator对象,获取浏览器类型userAgent,机器类型platform
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
4K0
Typecho 博客评论显示 UserAgent (UA)
UA图标下载:https://bsblog.lanzoui.com/iIgPuogw52j
团团生活志
2022/08/16
4790
非微信浏览器调取人脸核身saas微信H5服务报错优化问题
人脸核身微信普通H5、微信原始H5等都基于微信浏览器的功能,外部浏览器调用会报错,用户在发起核验前,需先校验浏览器类型,非微信浏览器不可调用人脸核身的服务
HI hero
2021/12/14
9000
通过Js判断客户端为PC端还是手持设备
Js中获取浏览器信息字符串只要使用navigator.userAgent即可,这样我们再利用indexof来判断版本或其它信息了。
WindCoder
2018/09/20
7.8K0
你真的理解userAgent了吗
点击上方蓝字,发现更多精彩 导语 最近在做数据分析,发现navigator.useAgent字段包含了很多奇怪的信息,包括每个浏览器都有Mozilla/5.0字段,而且既有Chrome又有Safari,原因是什么?所以进行了一下分析,在这里进行下分享~ userAgent为什么有这么多相似的字段 userAgent是我们经常会用到的字段,里面包含了很多信息,先来看看常见的浏览器,比如mac下的Chrome,userAgent是: Mozilla/5.0 (Macintosh; Intel Mac OS X
腾讯VTeam技术团队
2021/03/15
2.6K0
浏览器探针--JavaScript
HTTP规范(包括1.0和1.1版)明确规定,浏览器应该发送简短的用户代理字符串,指明浏览器的名称和版本号。 RFC 2616 (即HTTP1.1协议规范)是这样描述用户代理字符串的:
奋飛
2019/08/15
1.7K0
Vue分享功能实现,判断不同手机、浏览器及微信内核
声明:本文由w3h5原创,转载请注明出处:《Vue分享功能实现,判断不同手机、浏览器及微信内核》 https://www.w3h5.com/post/463.html
德顺
2019/12/31
1.5K0
JavaScript判断浏览器内核,微信打开自动提示在浏览器打开
微信会屏蔽 URL 自定义的 scheme ,导致无法跳转手机中的浏览器。网上有一些工具类网站可以实现直接跳转浏览器,之后有机会我会整理一下。我们今天只讨论通过 JavaScript 判断是否在微信浏览器中打开,如果是则弹出提示,在浏览器中打开。
德顺
2019/11/19
4.6K0
JavaScript判断浏览器版本的方法
因为业务需求,项目经理让我做一个判断当前浏览器是否是谷歌浏览器,并确定谷歌浏览器版本,不满足谷歌浏览器和版本就显示一个页面提示升级,满足条件就跳转到我们的一个项目,下面先来实现这个:
用户1289394
2021/10/13
1.6K0
Javascript判断设备类型,检测是否为微信打开
代码实现如下 var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 pres
IT工作者
2022/01/28
1.6K0
相关推荐
在服务器端获取和解析浏览器 UA
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档