js 获取浏览器信息及版本

11 篇文章 0 订阅

需求

项目中要求设备监控获取当前浏览器信息以及版本(PC端项目)

效果图

在这里插入图片描述

实现

browser文件

在utils文件夹下创建browser.js文件

const navigator = window.navigator
/* 判断各个浏览器版本号 */
function matchVersion() {
  const userAgent = navigator.userAgent
  const rMsie = /(msie\s|trident.*rv:)([\w.]+)/
  const rEdge = /(edg)\/([\w.]+)/
  const rFirefox = /(firefox)\/([\w.]+)/
  const rOpera = /(opera).+version\/([\w.]+)/
  const rChrome = /(chrome)\/([\w.]+)/
  const rSafari = /version\/([\w.]+).*(safari)/
  const ua = userAgent.toLowerCase()
  var match = rMsie.exec(ua)
  if (match !== null) {
    return {
      browser: 'IE',
      version: match[2] || '0'
    }
  }
  var rEmatch = rEdge.exec(ua)
  if (rEmatch !== null) {
    return {
      browser: 'Edge',
      version: rEmatch[2] || '0'
    }
  }
  var rFmatch = rFirefox.exec(ua)
  if (rFmatch !== null) {
    return {
      browser: rFmatch[1] || '',
      version: rFmatch[2] || '0'
    }
  }
  var rOmatch = rOpera.exec(ua)
  if (rOmatch !== null) {
    return {
      browser: rOmatch[1] || '',
      version: rOmatch[2] || '0'
    }
  }
  var rCmatch = rChrome.exec(ua)
  if (rCmatch !== null) {
    return {
      browser: rCmatch[1] || '',
      version: rCmatch[2] || '0'
    }
  }
  var rSmatch = rSafari.exec(ua)
  if (rSmatch !== null) {
    return {
      browser: rSmatch[2] || '',
      version: rSmatch[1] || '0'
    }
  }
  if (match !== null) {
    return {
      browser: '',
      version: '0'
    }
  }
}
const browser= {
	matchVersion: matchVersion
}
export default browser
index.vue文件
<template>
  <div>
  	<div>浏览器:<span>{{ browser }}</span></div>
  	<div>浏览器版本:<span>{{ version }}</span></div>
  </div>
</template>

<script>
import browser from'@/utils/browser'
export default {
  data() {
    return {
      browser: null,
      version: null
    }
  },
  created() {
	this.init()
  },
  methods: {
    async init() {
      const obj = browser.matchVersion() // { "browser": "chrome", "version": "115.0.0.0" } 浏览器及版本
      this.browser= obj.browser
      this.version = obj.version
    }
  }
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuelong-ming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值