方法可能不是最优解,只是自己随便搞的

我处理逻辑是匹配 这样的

根据这种值去匹配是哪一个浏览器

// 浏览器标识通过数组返回
const getUserAgent = () => {const { userAgent } = navigator;let left = 0;const arr = [];for (let i = 0; i < userAgent.length; i++) {if (userAgent[i] === ' ') {left = i;} else if (userAgent[i] === '/' && left) {arr.push(userAgent.slice(left + 1, i));}}// 搜狗浏览器格式特殊if (userAgent.includes('MetaSr')) {arr.push('MetaSr');}return arr.slice(1);
};export const broswerIdMap = {QQ浏览器: ['Chrome', 'Safari', 'Core', 'QQBrowser'],Chrome浏览器: ['Chrome', 'Safari'],Edge浏览器: ['Chrome', 'Safari', 'Edg'],搜狗浏览器: ['Chrome', 'Safari', 'MetaSr'],Safari浏览器: ['Version', 'Safari'],Firefox浏览器: ['Gecko', 'Firefox'],'2345浏览器': ['Chrome', 'Safari', '2345Explorer'],
};// 获取当前登录浏览器
export const getCurBroswer = () => {let broswer = null;console.log('window', window);const broswerList = Object.keys(broswerIdMap);const curAgent = getUserAgent();for (let i = 0; i < broswerList.length; i++) {if (curAgent.toString() === broswerIdMap[broswerList[i]].toString()) {broswer = broswerList[i];return broswer;}}return '其他浏览器';
};

使用的时候直接调用这个 getCurBroswer 就行,就能获取到当前是什么浏览器

包含了我认知的主流浏览器
如果你问我为什么没有猎豹浏览器和360的话。。。我根本没法通过userAgent去分辨他们和chorme的区别!!!

js获取当前是什么浏览器相关推荐

  1. JS获取当前使用的浏览器

    我使用的是PC端的谷歌浏览器,我们获取信息是:navigator重点是这个,打印的内容都有以下这些 我们要获取的是:appVersion这行,所以navigator.appVersion,打印看看 看 ...

  2. JS获取当前使用的浏览器名字以及版本号

    function getExplorerInfo() { var explorer = window.navigator.userAgent.toLowerCase(); //ie if (explo ...

  3. js获取IP地址多种方法实例教程

    js获取IP地址方法总结  js代码获取IP地址的方法,如何在js中取得客户端的IP地址. 原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338. ...

  4. js获取浏览器当前时间

    js获取浏览器当前时间:格式:2020-05-18 10:44:40 <script type="text/javascript">var nowDate=new Da ...

  5. js,jquery获取页面元素距离浏览器工作区顶端的距离

    先介绍几个属性:(暂时只测了IE和firefox,实际上我工作中用到的最多的是chrome)  网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度) (javascript)       ...

  6. JS获取浏览器高度 并赋值给类

    JS获取浏览器宽高的兼容写法: var w = window.innerWidth || document.documentElement.clientWidth || document.body.c ...

  7. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...

    [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 原文:[完美]原生JS获取浏览器版本判 ...

  8. 编辑器js获取浏览器高度和宽度值(转)

    js获取浏览器高度和宽度值 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: docume ...

  9. js获取浏览器语言(ie、ff、chrome)、contextpath

    js获取浏览器语言(ie.ff.chrome).contextpath /js获取浏览器语言(ie.ff.chrome) Java代码   var language_en_us = "en- ...

最新文章

  1. 头条一面:Spring IOC容器中只存放单例Bean吗?
  2. SoapUI实践:自动化测试、压力测试、持续集成 1
  3. bzoj1412[ZJOI2009]狼和羊的故事
  4. Hadoop+eclipse运行MapReduce程序
  5. java 加密解密简单实现
  6. 【附可运行代码】剑指 Offer 12. 矩阵中的路径
  7. 最常见的13种主数据管理(MDM)词汇和定义
  8. Windows 10+Ubuntu 16.04在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法...
  9. spring 与 guice 的区别好玩的好法(转)
  10. c mysql数据库_C实现MySQL数据库操作
  11. 3D远方纯动态白云页面源码
  12. zabbix服务器与客户端(Linux+Windows)的搭建
  13. python需要的开发特点_Python编程语言特征
  14. 使用Windows Server 2003搭建一个asp+access网站
  15. [转]JSP中常见的Tomcat报错错误解析(一)
  16. 定制一款铝合金型材的流程
  17. python123测验答案第十周_智慧职教mooc的APPPython程序设计(常州工业职业技术学院)章节测验答案...
  18. 【科学有故事】做节目时的Python分析
  19. 泸州职业技术学院计算机怎么样,泸州职业技术学院怎么样、好不好
  20. 还在死守TCP吗,来看看即将成为HTTP3.0标准协议的QUIC

热门文章

  1. java utf8 文件转gbk_java txt文件utf-8转GBK的问题
  2. 【物联网毕设基础】单片机:PCF8591硬件接口
  3. 模式识别 计算机博弈,计算机博弈新题材
  4. matlab进气过程源程序,基于Matlab/WAVE的汽油机工作过程的联合仿真优化
  5. No JRE found. Please make sure STUDIO_JDK, JDK_HOME, or JAVA_HOME point to a valid JRE installation
  6. C++ CAD ObjectARX 2018介绍
  7. 第1章 Window下VSCode的C语言开发环境搭建 (一)
  8. 博弈论知识汇总(算法)
  9. 我是怎么拿到华为社招面试offer的?(内含面试真题分享)
  10. 千呼万唤始出来!你期待的Cybex中文名来了!