前端项目中获取浏览器版本的方法

在我们的前端项目中,navigator.userAgent属性含有当前浏览器相关信息(比如版本号)。
所以当我们想要获取用户当前访问的浏览器的版本时直接去解析navigator.userAgent字段就中。

废话不多说,下面看封装的获取浏览器版本的函数:

function getBrowserVersion() {
  const userAgent = navigator.userAgent;
  let version = "";

  // 判断是否为 Chrome 浏览器
  if (/Chrome\/(\S+)/.test(userAgent)) {
    version = userAgent.match(/Chrome\/(\S+)/)[1];
  }
  // 判断是否为 Firefox 浏览器
  else if (/Firefox\/(\S+)/.test(userAgent)) {
    version = userAgent.match(/Firefox\/(\S+)/)[1];
  }
  // 判断是否为 Safari 浏览器
  else if (/Safari\/(\S+)/.test(userAgent)) {
    version = userAgent.match(/Version\/(\S+)/)[1];
  }
  // 判断是否为 Edge 浏览器
  else if (/Edg\/(\S+)/.test(userAgent)) {
    version = userAgent.match(/Edg\/(\S+)/)[1];
  }
  // 判断是否为 Internet Explorer 浏览器
  else if (/MSIE (\S+);/.test(userAgent)) {
    version = userAgent.match(/MSIE (\S+);/)[1];
  }

  return version;
}

const browserVersion = getBrowserVersion();
console.log(browserVersion, 'version');

打印结果
在这里插入图片描述

上面的代码中,我们使用正则表达式匹配不同常用浏览器的版本,并返回了版本号。
下面就可以根据业务需要用在自己的项目中了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/203376.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

express+mySql实现用户注册、登录和身份认证

expressmySql实现用户注册、登录和身份认证 注册 注册时需要对用户密码进行加密入库,提高账户的安全性。用户登录时再将密码以相同的方式进行加密,再与数据库中存储的密码进行比对,相同则表示登录成功。 安装加密依赖包bcryptjs cnpm insta…

C++学习之路(十三)C++ 用Qt5实现一个工具箱(增加一个Base64加解密功能)- 示例代码拆分讲解

上篇文章,我们用 Qt5 实现了在小工具箱中添加了《XML文本格式化功能》功能。为了继续丰富我们的工具箱,今天我们就再增加一个平时经常用到的功能吧,就是「 Base64加解密 」功能。下面我们就来看看如何来规划开发一个这样的小功能并且添加到我…

高性能Mysql第三版(一)

学习目标: 高性能Mysql第3版 学习内容: MySQL架构与历史Mysql基座测试服务器性能Schema与数据类型优化创建高性能的索引查询性能优化Mysql高级特性Explain 文章目录 学习目标:高性能Mysql第3版 学习内容:1 Mysql逻辑架构1.1 My…

autogen的理解和实践

什么是autogen? AutoGen 是一个框架,支持使用多个代理来开发 LLM 应用程序,这些代理可以相互对话来解决任务。AutoGen 代理是可定制的、可对话的,并且无缝地允许人类参与。他们可以采用法学硕士、人力投入和工具组合的各种模式运作。简单来说…

C++ CryptoPP使用RSA加解密

Crypto (CryptoPP) 是一个用于密码学和加密的 C 库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码 (MAC)、数字签名等。Crypto 的目标是提供高性能和可靠的密码学工具,以满足软件开发中对…

JSP+servlet实现高校社团管理系统

JSPservlet实现的高校社团管理系统 ,前后台都有,前台演示地址:高校社团管理系统 后台演示地址:登录 用户名:sys,密码:123456 前台功能:首页,社团列表,社团风采,社团活动,新闻列表&#xff0c…

HarmonyOS将程序下载并运行到真机上 (华为手机为例)

前面的文章 我们讲到过一些关于这个预览器的操作 可以在上面看到我们代码的一个整体效果 但其实 这边可以真实的运行在我们自己的手机上 因为你这个预览器再好 还是和实际的手机环境有所偏差 首先 我们要设置一下手机 我们在设置中 找到 关于手机 然后 这下面 有一个 Harmo…

【功能测试】软件系统测试报告

1.引言 1.1.目的 本测试报告为 xxx 系统测试报告,本报告目的在于总结测试阶段的测试及测试结果分析,描述系统是否达到需求的目的。 本报告预期参考人员包括测试人员、测试部门经理、开发人员、项目管理人员等。 1.2.参考文档 《xxxx系统需求规格说明…

Linux实现类似cp的命令

1.利用主函数的三个函数进行传参 1).主函数的三个参数的含义: argc:主函数的参数个数 argv:主函数的参数内容 envp:环境变量; 2).演示代码: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc,char *argv[],char *envp[]…

Ubuntu 环境下 NFS 服务安装及配置使用

需求&#xff1a;公司内部有多台物理服务器&#xff0c;需要A服务器上的文件让B服务器访问&#xff0c;也就是两台服务器共享文件&#xff0c;当然也可以对A服务器上的文件做权限管理&#xff0c;让B服务器只读或者可读可写 1、NFS 介绍 NFS 是 Network FileSystem 的缩写&…

Linux权限维持

Linux权限维持 写于2023-10-12 14:32 隐藏技巧 修改文件/终端属性 touch -r index.php shell.php #将shell.php文件的时间戳修改为inedx.php的时间戳文件锁定 通过chattr命令来防止文件被删除或者被修改&#xff0c;这个权限通过ls -l无法查看出来 chattr i shell.php …

【攻防世界-misc】删库跑路-

1.下载文件解压&#xff0c;将该文件复制到kali上&#xff0c;用文件分离命令查看该文件是否有隐含文件&#xff0c; 2.解压出来的文件有四个&#xff0c;分别查看。 3.在第三个压缩包这里&#xff0c;有一个flag.txt&#xff0c;里面就包含了flag值。

VERAS:AI驱动的Revit可视化渲染插件

Veras 是一款基于生成式AI 的可视化工具&#xff0c;可以使用自然语言生成3D渲染效果&#xff0c;兼容Revit、Rhino 和 SketchUp。Veras for Revit工具使用 Revit 模型内部的 3D 视图。 NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编…

牛客算法心得——abb(dp)

大家好&#xff0c;我是晴天学长&#xff0c;传智杯的题&#xff0c;我准备写一个题解&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .abb leafee 最近爱上了 abb 型语句&#xff0c;比如“叠词词”、…

新生儿喂养的完全指南:注意事项与父母指导

引言&#xff1a; 新生儿的喂养是父母最重要的任务之一。正确的喂养对于宝宝的生长发育至关重要。本文将深入探讨新生儿喂养的注意事项&#xff0c;为父母提供全面的指南&#xff0c;以确保宝宝得到适当的营养和关爱。 第一部分&#xff1a;新生儿喂养的基本知识 母乳 vs. 奶…

vue3+ts v-model 深度学习

<template><div><h1>我是App.vue组件</h1><div>isShpw:{{ isShow }}</div><div>text:{{ text }}</div><div><button click"isShow !isShow">开关</button></div><hr /><vModeVal…

增加3~4个独立数字脉冲发生器通道!数字化仪和AWG新增DPG功能

数字脉冲升级功能 德思特Spectrum系列全部在售数字化仪和AWG产品&#xff08;包括TS-M2p&#xff0c;TS-M4i&#xff0c;TS-DN2&#xff0c;TS-DN6型号产品&#xff09;&#xff0c;发布了新增的数字脉冲&#xff08;DPG&#xff09;升级功能&#xff0c;于11月15日正式推出。…

中国信通院发布《中国算力发展指数白皮书》(2023)

加gzh“大数据食铁兽”&#xff0c;回复“20231129”&#xff0c;获取材料完整版 导读 2023 年白皮书在 2022 年的基础上&#xff0c;加强了全球和我国算力发展的研究&#xff0c;客观评估我国整体、各省份及各城市现阶段的算力发展水平进一步给出我国算力二十强市榜单&…

【精选】ATKCK红队评估实战靶场一 超详细过程思路

一、环境搭建 1.红日靶场下载&#xff1a; 靶场下载地址&#xff1a; https://pan.baidu.com/s/1nC6V8e_EuKfaLb2IuEbe7w&shflsharepset 提取码&#xff1a;n1u22.内外网IP搭建 Windows 7 x64Windows Server 2008Win2K3 Metasploitablekali内网IP&#xff1a;192.168.52…

搜维尔科技:Varjo XR-4 系列-专为极致沉浸感而打造!

Varjo 的新一代头显将世界上最先进的混合现实技术与顶尖的图形处理能力连接起来&#xff0c;满足最高级别的视觉保真度和沉浸感至关重要的工业用例。 光学设计的根本性突破 体验全新的沉浸感。大幅扩展的视野&#xff0c;跨越 120 x 105 度&#xff0c;打破了受人尊敬的“全双眼…