首页 > 其他分享 >JS获取浏览器版本信息

JS获取浏览器版本信息

时间:2023-02-28 11:25:12浏览次数:36  
标签:const String JS str 浏览器 版本信息

/**
 * 获取浏览器信息
 * @returns {Object} {name: String, version: String}
 */
export function getBrowserInfo() {
  const browserInfo = {}
  const str = navigator.userAgent.toLowerCase()
  const isIE = str.includes('compatible') && str.includes('msie') // 判断是否IE<11浏览器
  const isIE11 = str.includes('trident') && str.includes('rv:11.0')
  const isEdge = str && str.includes('edg/')
  if (isIE) {
    const reg = new RegExp('msie (\\d+\\.\\d+);')
    reg.test(str)
    const ieVersion = parseInt(RegExp['$1'])
    browserInfo.name = 'ie'
    browserInfo.version = ieVersion > 7 ? `ie${ieVersion}` : '<ie7'
  } else if (isIE11) {
    browserInfo.name = 'ie'
    browserInfo.version = 'ie11'
  } else if (isEdge) {
    const reg = /(edg).*?([\d.]+)/
    const info = str.match(reg)
    browserInfo.name = info[1]
    browserInfo.version = info[2]
  } else {
    const reg = /(edg|chrome|opera|firefox|version).*?([\d.]+)/
    const info = str.match(reg)
    browserInfo.name = info[1].replace(/version/, "'safari")// name---类型
    browserInfo.version = info[2]// version---版本
  }
  return browserInfo
}

标签:const,String,JS,str,浏览器,版本信息
From: https://www.cnblogs.com/frank-link/p/17163316.html

相关文章

  • npm install 报错 The package-lock.json file was created with an old version of n
    1.报错截图: 2 报错原因:npm版本过高,解决方法见第如下npminpm@6-g检测npm-vnpm版本版本已经降低再进行npminstall的操作就不会报错了。......
  • day78-浏览器本地储存
    浏览器本地储存浏览器通过window.sessionStorage和window.localStorage属性来实现本地存储机制window.localStorage localStorage.setItemlocalStorage.setItem('na......
  • springboot中json参数映射
    文章目录​​json映射不到实体上​​​​问题分析​​​​解决方案​​​​json映射到String查不到数据​​​​问题分析​​​​解决方案​​​​自动映射入参可以多吗,可以......
  • React学习笔记(二)—— JSX、组件与生命周期
    一、JSX1.1、什么是JSX?JSX=JavaScriptXML,这是React官方发明的一种JS语法(糖)概念:JSX是JavaScriptXML(HTML)的缩写,表示在JS代码中书写HTML结构设想如下变量声明:......
  • jsp执行流程
    Jsp执行流程jsp-----java----classE:\student\apache-tomcat-8.5.30\work\Catalina\localhost\JspProject(orglapache\jsp因为第一请求服务端会......
  • AngularJs简单使用
    官方的中文文档地址https://angular.cn/start<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>angular测试</title></head>......
  • 自定义浏览器默认右键菜单
    取消原生右键事件在main.ts函数中取消浏览器默认右键菜单:window.oncontextmenu=()=>{returnfalse;};组件模板做一个不同区域右键点击之后不同菜单项的组件......
  • Node.js安装及环境配置
    node.js官网下载node.js历史版本下载连接1.在历史版本中选择一个你要安装的node.js版本(我这里下载的是windows64位14.14.0版本的安装包)2.下载好安装包之后,安装安装......
  • npm run 执行多任务的package.json配置
    有时需要在运行npmrun时,执行多个自定义的任务,此时可以使用增加scripts中条目,然后用一个总任务脚本将相关条目用&&串联起来的方式进行。我们知道:在package.json中,scripts里......
  • 发现Vue.js做前端交互不错,非常轻量级
    最近做一个设备配置的网站,涉及到很多的数据交互,找到一个轻量级的JS框架Vue.js。经过试用,发现使用Vue.js做数据绑定和前端交互很棒。推荐一下,希望对做前端的朋友有点用或做做......