【日常记录】【插件】js 获取浏览器信息、操作系统等相关信息

文章目录

    • 1. 原生方式
    • 2. 插件的方式
      • 2.1 Bowser 的基本使用
      • 2.2 UAParser
      • 2.3 Platform.js
    • 参考链接

1. 原生方式

原生方式可以通过 navigator.userAgent 来获取

在这里插入图片描述

需要写一个正则来匹配,获取相关的信息

2. 插件的方式

获取浏览器版本相关信息的库主要有以下几个

  1. Bowser:一个功能强大的用户代理字符串解析器,可以解析出浏览器、操作系统和设备信息。
  2. UAParser:一个轻量级的 JavaScript 库,用于解析用户代理字符串并提取浏览器、操作系统、设备和 CPU 信息
  3. Platform.js:一个用户代理字符串解析器,可以检测浏览器、操作系统和引擎信息。一个用户代理字符串解析器,可以检测浏览器、操作系统和引擎信息。

2.1 Bowser 的基本使用

在这里插入图片描述

引入地址:https://cdn.bootcdn.net/ajax/libs/bowser/2.11.0/bundled.js

方式一

bowser.getParser(window.navigator.userAgent)
调用Bowser 的 getParser 方法,吧浏览器的 userAgent 传递进去,接收返回值

返回值如下:
在这里插入图片描述

方式二

bowser.parse(window.navigator.userAgent)
调用Bowser 的 parse 方法,吧浏览器的 userAgent 传递进去,接收返回值

返回值如下:
在这里插入图片描述

<script src="https://cdn.bootcdn.net/ajax/libs/bowser/2.11.0/bundled.js"></script>
<script>// 方式一const browser = bowser.getParser(window.navigator.userAgent);console.log(`浏览器名称: "${browser.getBrowserName()}"`); // 浏览器名称: "Microsoft Edge"// 方式二console.log(bowser.parse(window.navigator.userAgent));// {//   "browser": { // 浏览器相关//     "name": "Microsoft Edge", // 浏览器名称//      "version": "126.0.0.0" // 浏览器版本//   },//   "os": { // 操作系统相关//     "name": "Windows", // 操作系统名称//      "version": "NT 10.0", // 操作系统的版本号//      "versionName": "10"// 操作系统的版本名称//   },//   "platform": { // 平台//     "type": "desktop" // desktop:桌面版,mobile:移动端,tablet:平板//   },//   "engine": { // 引擎//     "name": "Blink" // 引擎名称,可能回有。Blink/WebKit/Gecko 等//   }// }
</script>

2.2 UAParser

在这里插入图片描述

引用地址:https://cdn.bootcdn.net/ajax/libs/UAParser.js/1.0.37/ua-parser.js

完整输出如下:
在这里插入图片描述

<script src="https://cdn.bootcdn.net/ajax/libs/UAParser.js/1.0.37/ua-parser.js"></script>
<script>console.log('~~~~~~~~~~~~~~~~~~~~~~~~~~~');const parser = new UAParser(window.navigator.userAgent)let res = parser.getResult()console.log(res);// {name: 'Edge', version: '126.0.0.0', major: '126'}console.log(parser.getBrowser());// {architecture: 'amd64'}console.log(parser.getCPU());// {name: 'Blink', version: '126.0.0.0'}console.log(parser.getEngine());// {vendor: undefined, model: undefined, type: undefined}console.log(parser.getDevice());// {name: 'Windows', version: '10'}console.log(parser.getOS());</script>

在这里插入图片描述

这个插件,可以获取的东西很多,但是有些东西收费

2.3 Platform.js

在这里插入图片描述

引入地址:https://cdn.bootcdn.net/ajax/libs/platform/1.3.6/platform.js

在这里插入图片描述

<script src="https://cdn.bootcdn.net/ajax/libs/platform/1.3.6/platform.js"></script>
<script>console.log('~~~~~~~~~~~~~~~~~~~~~~~~');console.log(platform);
</script>

参考链接

  • Bowser Github
  • Ua-Parser-JS Github
  • Platform.js Github

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高德API接入安卓相关问题说明

高德API接入安卓相关问题说明 我们都在怀念过去&#xff0c;失去后我们才懂得珍惜&#xff0c;有些人或事早已经远去&#xff0c;可是还是会想起曾经拥有的岁月&#xff0c;会是一种喜悦&#xff0c;会是一种遗憾…… 目前Android开发已经普遍使用Android Studio&#xff0c;开…

人工智能算法工程师(中级)课程1-Opencv视觉处理之基本操作

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程1-Opencv视觉处理之基本操作。OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库。它提供了各种视觉处理函数&#xff0c;并…

红酒与电影经典:那些银幕上的醉人瞬间

在光影交织的银幕世界里&#xff0c;红酒不仅是品味生活的象征&#xff0c;更是情感与故事的催化剂。每当夜幕降临&#xff0c;一杯色泽深邃的红酒&#xff0c;便能带我们走进那些令人陶醉的影片瞬间&#xff0c;感受不同的人生百态。今天&#xff0c;就让我们一起回味那些银幕…

告别付费 API!使用 Ollama 和 MATLAB 玩转本地大模型

在“当MATLAB遇见ChatGPT&#xff1f;”一文中介绍了名为MatGPT的插件&#xff0c;该插件通过调用ChatGPT的API&#xff0c;实现了在MATLAB中与Chat GPT对话的功能。 虽然Open AI的GPT3.5和GPT4o可以免费使用&#xff0c;但调用API却需要收费&#xff0c;因此使用MatGPT这类插件…

mybatis 延迟加载

MyBatis的延迟加载&#xff08;Lazy Loading&#xff09;是一种优化技术&#xff0c;用于在需要时才加载关联对象或集合&#xff0c;从而提高性能和效率。以下是对MyBatis延迟加载的详细介绍&#xff1a; 延迟加载的基本概念 延迟加载是指在第一次访问对象的属性时才加载该对象…

阿一课代表随堂分享:红队反向代理之使用frp搭建反向代理

frp反向代理 frp简介 frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件&#xff0c;支持 tcp, udp, http, https等协议。 frp 是一个可用于内网穿透的高性能的反向代理应用&#xff0c;分为服务端frps和客户端frpc&#xff0c;支持 tcp, udp, http, https 协议。详…

修改服务器挂载目录

由于我们的项目通常需要挂载一个大容量的数据盘来存储文件数据&#xff0c;所以我们每台服务器都需要一个默认的挂载目录来存放这些数据&#xff0c;但是由于我们的误操作&#xff0c;导致挂载目录名字建错了&#xff0c;这时候后端就读不到挂载目录了&#xff0c;那我们我们的…

Java面经知识点汇总版

Java面经知识点汇总版 算法 14. 最长公共前缀&#xff08;写出来即可&#xff09; Java 计算机基础 数据库 基础 SQL SELECT first_name, last_name, salary FROM employees WHERE department Sales AND salary > (SELECT AVG(salary)FROM employeesWHERE department Sal…

德语中含“Augen”的惯用语表达-柯桥小语种学习德语考级

在我们的德语学习过程中&#xff0c;除了词汇的记忆&#xff0c;另一项重要的记忆任务就是惯用语的背诵啦。要知道&#xff0c;德语中有大量的Redewendung&#xff0c;他们以其言简意赅的表达&#xff0c;在日常用语中备受青睐。上一期我们已经学习了部分含有“Hand”的惯用语&…

去中心化时代的到来:区块链如何重新定义权力和控制

随着区块链技术的迅猛发展&#xff0c;我们正逐步进入一个去中心化的新时代。区块链不仅仅是一种技术&#xff0c;更是一种理念&#xff0c;它通过去除中心化的权威和控制节点&#xff0c;重新定义了数据管理、交易验证和权力分配的方式。本文将深入探讨区块链如何在去中心化时…

成都欣丰洪泰文化传媒有限公司电商服务领航者

在当今数字化浪潮中&#xff0c;电商行业正以前所未有的速度蓬勃发展。作为这片蓝海中的佼佼者&#xff0c;成都欣丰洪泰文化传媒有限公司凭借其专业的电商服务能力和对市场的敏锐洞察力&#xff0c;成为众多品牌信赖的合作伙伴。今天&#xff0c;就让我们一起走进成都欣丰洪泰…

CC5利用链分析

分析版本 Commons Collections 3.2.1 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 CC6是在CC1 LazyMap利用链(引用)的基础上。 CC5和CC6相似都是CC1 LazyMap利用链(引用)的基础上&#xff0c;改变了到LazyMap的入口类。 CC6是用TiedMapEntry的hashCode方…

Pinia 实战指南:轻松驾驭前端状态管理

前言 本文讲解一下在前端开发中经常使用的一个状态管理工具Pinia Pinia 是 Vue 的专属状态管理库,很值得我们深入去学习一下 Pinia是什么&#xff1f; Pinia是专门为Vue.js应用程序设计的一个状态管理库 主要特点: 简单性: Pinia的设计目标是提高开发效率和用户体验,因此…

gen_circle_contour_xld 创建XLD轮廓对应于圆或圆弧。

gen_circle_contour_xld (Operator)创建XLD轮廓对应于圆或圆弧。 Signature 签名 gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : ) Description 描述 Gen_circle_contour_xld创建一个或多个圆弧或闭合的圆。圆…

全志A527 T527 android13支持usb摄像头

1.前言 我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。 2.系统节点查看 我们查看系统是否有相关的节点生成,发现/dev/video相关的节点已经生成了。并没有问题,拔插正常。 3.这里我们需要查看系统层是否支持相关的相机, 我们使用命令进行…

鹦鹉智能财税系统:代账公司的智能化升级之路

随着新公司法的颁布与实施&#xff0c;财税政策的不断更新&#xff0c;以及大数据、人工智能等新技术的广泛应用&#xff0c;企业老板对于财税合规&#xff0c;以及企业资金安全的需求日益增加。乐财业-鹦鹉智能财税系统从企业老板视角出发&#xff0c;在助力企业合规经营的前提…

电机控制杂谈——位置环到底该用什么调节器?

1.为什么位置环用P调节器尽可以实现无静差调节&#xff1f; 当时在学《运动控制》这门课程时&#xff0c;用的是陈伯时老师的教材。在介绍调节器的时候&#xff0c;教材中说到&#xff0c;P&#xff08;比例&#xff09;调节器会存在稳态误差&#xff0c;所以在转速环和电流环…

node使用express在服务器上创建接口,携带参数访问时返回参数

一、下载nodejs​​​​​​Node.js — 在任何地方运行 JavaScriptNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/zh-cn 二、 安装Express 找一个文件夹&#xff0c;创建 mkdir myapp cd myapp三、初始化一个新的Node.js项目&…

OS Copilot:新手测评体验

文章目录 前言一、OS Copilot&#xff08;阿里云操作系统智能助手&#xff09;简介二、测评体验总结OS Copilot 产品体验评测OS Copilot 产品功能反馈 前言 本文简单分享一下自己使用OS Copilot测评体验。 一、OS Copilot&#xff08;阿里云操作系统智能助手&#xff09;简介 …

linux驱动应用开发就业前景如何 ?

Linux驱动应用开发的就业前景可以说是非常广阔和有吸引力的&#xff0c;特别是随着物联网&#xff08;IoT&#xff09;、嵌入式系统、云计算和大数据等技术的迅速发展。我收集归类了一份嵌入式学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的…