当前位置: 首页 > news >正文

navigator.userAgent.toLowerCase区分设备,浏览器

navigator.userAgent.toLowerCase区分设备,浏览器

  • navigator.userAgent.toLowerCase()
    • 区分设备是pc还是移动端
    • 在确认是移动端的基础上,判断是Android、ipad、iphone
    • 内置的浏览器,比如新浪微博、腾讯QQ(非QQ浏览器)和微信

在跨平台、浏览器、移动设备兼容的时候,需要根据设备、浏览器做特定调整,所以我们经常会用到navigator.userAgent.toLowerCase()来进行判断

navigator.userAgent.toLowerCase()

  1. navigator是HTML中的内置对象:包含浏览器的信息;
  2. userAgent是navigator的属性方法:可以返回由客户机发送服务器的头部的值,作用其实就是就是返回当前用户所使用的是什么浏览器;
  3. toLowerCase是转换为小写;

区分设备是pc还是移动端

 function _isMobile () {let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)return flag
}if(_isMobile()) {alert("手机端");this.$router.replace('/m_index');
} else {alert("pc端");this.$router.replace('/pc_index');
}

在确认是移动端的基础上,判断是Android、ipad、iphone

var ua = navigator.userAgent.toLowerCase();
console.log(ua,'ua')
if (/android|adr/gi.test(ua)) {alert("安卓");
}else if(/iPad/gi.test(ua) ){alert("ipad");
}else if(/\(i[^;]+;( U;)? CPU.+Mac OS X/gi.test(ua)){alert("苹果");
}

内置的浏览器,比如新浪微博、腾讯QQ(非QQ浏览器)和微信

var ua = navigator.userAgent.toLowerCase();  
if(ua.match(/weibo/i) == "weibo"){  console.log('新浪微博');
}else if(ua.indexOf('qq/')!= -1){  console.log('QQ客户端');
}else if(ua.match(/MicroMessenger/i)=="micromessenger"){ console.log('微信'); var v_weixin = ua.split('micromessenger')[1];  v_weixin = v_weixin.substring(1,6);  v_weixin = v_weixin.split(' ')[0];  if(v_weixin.split('.').length == 2){  v_weixin = v_weixin + '.0';  }  if(v_weixin < '6.0.2'){  console.log('微信低于6.0.2版本');}else{  console.log('微信高于6.0.2版本');  }  
}else{  console.log('其他'); 
} 

相关文章:

navigator.userAgent.toLowerCase区分设备,浏览器

navigator.userAgent.toLowerCase区分设备&#xff0c;浏览器 navigator.userAgent.toLowerCase(&#xff09;区分设备是pc还是移动端在确认是移动端的基础上&#xff0c;判断是Android、ipad、iphone内置的浏览器&#xff0c;比如新浪微博、腾讯QQ&#xff08;非QQ浏览器&…...

防火墙操作:开放端口ICMP时间戳请求漏洞修复

响应ICMP时间戳请求漏洞修复 firewall-cmd --permanent --zonepublic --add-icmp-blocktimestamp-reply firewall-cmd --permanent --zonepublic --add-icmp-blocktimestamp-request firewall-cmd --reload --防火墙状态 systemctl status firewalld --打开防火墙 systemctl …...

MySQL配置环境变量和启动登录

如果不配置环境变量&#xff0c;每次登录 MySQL 服务器时就必须进入到 MySQL 的 bin 目录下&#xff0c;也就是输入“cd C:\Program Files\MySQL\MySQL Server 5.7\bin”命令后&#xff0c;才能使用 MySQL 等其它命令工具&#xff0c;这样比较麻烦。配置环境变量以后就可以在任…...

救济金发放(The Dole Queue, UVa 133)rust解法

n(n<20)个人站成一圈&#xff0c;逆时针编号为1&#xff5e;n。有两个官员&#xff0c;A从1开始逆时针数&#xff0c;B从n开始顺时针数。在每一轮中&#xff0c;官员A数k个就停下来&#xff0c;官员B数m个就停下来&#xff08;注意有可能两个官员停在同一个人上&#xff09;…...

oracle实验四

创建文件 &#xff08;1&#xff09;为 ORCL 数据库创建一个名为 BOOKTBS1 的永久性表空间&#xff0c;数据文件为’d:\bt01.dbf’ &#xff0c;大小为100M&#xff0c;区采用自动扩展方式&#xff08;即自动分配&#xff09;&#xff0c; 段采用自动管理方式&#xff1b; &am…...

数据结构-堆排序Java实现

目录 一、引言二、算法步骤三、原理演示步骤1: 构建最大堆步骤2: 交换和堆化步骤3: 排序完成 四、代码实战五、结论 一、引言 堆排序是一种利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或…...

C#进阶——反射(Reflection)

定义&#xff1a;反射指的是在运行时动态地获取、检查和操作程序中的类型信息&#xff0c;而在我们的Unity中反射允许开发者在运行时通过代码来访问和修改对象的属性、方法和字段&#xff0c;而不需要提前知道这些成员的具体信息。 举一个例子&#xff0c;我们使用反射在运行的…...

Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall

★ 知识点 ※ DEFAULT_SHARING参数的取值 METADATA: 元数据链接共享数据库对象的元数据&#xff0c;但其数据对于每个容器是唯一的。这些数据库对象被称为元数据链接的应用程序公共对象。此设置为默认设置。DATA: 数据链接共享数据库对象&#xff0c;其数据对于应用程序容器中…...

Affinity Publisher for Mac/Windows最新中文下载 排版神器

Affinity Publisher是一款专业的排版和设计软件&#xff0c;它可以帮助您从简单的文档到复杂的书籍和杂志轻松创建高质量的出版物。 该软件具有直观的界面和强大的功能&#xff0c;使您可以轻松组织和编辑文本、图像和数据&#xff0c;并创建令人惊叹的布局。 Affinity Publi…...

Mac文件对比同步工具 Beyond Compare 4.4.7

Beyond Compare 4 是一款强大的文件和文件夹比较工具。它提供了一个直观的界面&#xff0c;使您可以快速比较和同步文件和文件夹。 Beyond Compare 4 具有许多有用的功能&#xff0c;包括比较和合并文件、文件夹和压缩文件&#xff0c;以及同步文件和文件夹。它支持各种类型的文…...

技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac

技巧 | 如何解决 OBS 系统声音无法捕获问题 | Mac 问题描述 由于 macOS 系统限制&#xff0c;桌面音频被禁止&#xff0c;导致在使用 OBS 无法录制桌面音频&#xff0c;只能使用自带麦克风录制。 解决方法 Loopback 介绍 借助 Loopback 的强大功能&#xff0c;可以轻松地…...

从头开始机器学习:逻辑回归

一、说明 本篇实现线性回归的先决知识是&#xff1a;基本线性代数&#xff0c;微积分&#xff08;偏导数&#xff09;、梯度和、Python &#xff08;NumPy&#xff09;&#xff1b;从线性方程入手&#xff0c;逐渐理解线性回归预测问题。 二、逻辑回归简介 我们将以我们在线性回…...

插入排序 算法

从第二个开始&#xff0c;从后面往前找&#xff0c;如果比其小&#xff0c;就交换&#xff0c;else 就终止 for i 1 i <n i for j i j > 0 (到第二个) j-- if < swap 下面给出源码 //对插入排序来说&#xff0c;直接从第二个元素开始template<ty…...

“揭秘!如何通过京东商品详情接口轻松获取海量精准商品信息!“

京东商品详情接口可以通过HTTP GET请求获取商品详情信息。 请求参数包括num_iid&#xff0c;表示JD商品ID。 请求示例&#xff1a; GET /jd/item_get/?num_iid10335871600 HTTP/1.1 Host: api-vx.Taobaoapi2014.cn Connection: close Accept-Encoding: gzip 点击获取…...

已经有多人中招,不要被AI换脸技术骗了!

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…...

solidworks 2024新功能之--保存为低版本 硕迪科技

大家期盼已久的SOLIDWORKS保存低版本文件功能来了&#xff0c;从SOLIDWORKS 2024 开始&#xff0c;您可以将在最新版本的SOLIDWORKS 中创建的SOLIDWORKS零件、装配体和工程图另存为SOLIDWORKS 早期版本的全功能文档&#xff08;完成的特征树与相关参数&#xff09;。 将文件另…...

MySQL --- 聚合查询 和 联合查询

聚合查询&#xff1a; 下文中的所有聚合查询的示例操作都是基于此表&#xff1a; 聚合函数 聚合函数都是行与行之间的运算。 count() select count(列名) from 表名; 统计该表中该列的行数&#xff0c;但是 null 值不会统计在内&#xff0c;但是如果写为 count(*) 那么 nu…...

Note——torch.size() umr_maximum() array.max() itertools.product()

torch.size Problem TypeError: ‘torch.Size’ object is not callable Reason Analysis torch.Size函数不可调用 因为torch只可以.size() 或 shape Solution 将y.shape()替换为y.size() 或 y.shape ytorch.normal(0,0.01,y.size())2 return umr_maximum(a, axis, None…...

python学习笔记6-DefaultDict

对于一般的字典来说&#xff0c;如果键不存在会导致【KeyError】&#xff0c;因此可以考虑用DefaultDict # Defining the dict d defaultdict(def_value) d["a"] 1 d["b"] 2print(d["a"]) print(d["b"]) print(d["c"…...

Redis 底层对 String 的 3 个优化

Redis对 String 类型实现了很多优化&#xff0c;通过以下三个重要的优化点来解释&#xff1a; 1. 简单动态字符串&#xff08;SDS&#xff09; Redis 的 String 类型内部采用简单动态字符串&#xff08;SDS&#xff09;来管理字符串。相比于 C 语言的原生字符串&#xff0c;S…...

英国AI初创公司Ineffable Intelligence获11亿美元种子轮融资,投后估值达51亿美元

11亿美元种子轮融资&#xff0c;欧洲最大规模纪录诞生4月28日消息&#xff0c;据TechCrunch报道&#xff0c;英国AI初创公司Ineffable Intelligence宣布完成11亿美元种子轮融资&#xff0c;投后估值达51亿美元&#xff0c;创下欧洲史上最大规模种子轮融资纪录。本轮融资由红杉资…...

重庆思庄技术分享——PG物理复制:主库归档失败,报错找不到路径

PG物理复制&#xff1a;主库归档失败&#xff0c;报错找不到路径1. 现象描述在搭建 PostgreSQL 15 物理备库环境后&#xff0c;主备流复制虽然显示已连接&#xff0c;但主、备库日志中持续出现报错&#xff1a;主库 (Primary) 日志&#xff1a; LOG: archive command failed wi…...

如何备份表决磁盘_dd命令与crsctl查询Voting Disk位置

唯一可靠方式是执行crsctl query css votedisk&#xff0c;输出中“located on device”后为真实路径&#xff08;ASM磁盘组或裸设备&#xff09;&#xff1b;备份须用dd bs4096 convnotrunc,noerror,sync并cmp验证前几MB。怎么快速查出 Voting Disk 在哪oracle rac 的 voting …...

详解C++的反调试技术与绕过手法

反调试技术的实现方式有很多&#xff0c;最简单的一种实现方式莫过于直接调用Windows系统提供给我们的API函数&#xff0c;这些API函数中有些专门用来检测调试器的&#xff0c;有些则是可被改造为用于探测调试器是否存在的工具&#xff0c;多数情况下&#xff0c;调用系统API函…...

MAUI 嵌入式 Web 架构实战(七) 构建设备实时通信与控制系统

springboot自动配置 自动配置了大量组件&#xff0c;配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后&#xff0c;springboot会根据类路径上的jar包来自动配置bean&#xff08;比如&#xff1a;springboot发现类路径上的MyBatis相关类&#xff…...

3分钟上手LibreHardwareMonitor:免费开源的硬件监控神器终极指南

3分钟上手LibreHardwareMonitor&#xff1a;免费开源的硬件监控神器终极指南 【免费下载链接】LibreHardwareMonitor Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer. 项…...

如何在3分钟内为Windows 11 LTSC系统快速安装微软商店:完整指南

如何在3分钟内为Windows 11 LTSC系统快速安装微软商店&#xff1a;完整指南 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否正在使用Windows 11…...

如何让Windows 11运行如飞:开源优化工具Win11Debloat完整指南

如何让Windows 11运行如飞&#xff1a;开源优化工具Win11Debloat完整指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter…...

从“账物不符“到“全程可控“:IT资产全生命周期管理整体解决方案深度解析(PPT)

导读&#xff1a; 在企业数字化转型的浪潮中&#xff0c;IT资产管理&#xff08;ITAM&#xff09;长期处于一个尴尬的位置——它既不像ERP、CRM那样直接驱动业务收入&#xff0c;又不像网络安全那样拥有明确的合规压力&#xff0c;但它却是企业IT治理体系中最基础、最容易被忽视…...

从IEEE Vis 2017到2023:体渲染论文大盘点,这10篇核心工作帮你快速入门科学可视化

从IEEE Vis 2017到2023&#xff1a;体渲染技术演进与核心论文精要指南 科学可视化领域正在经历一场由算法创新与硬件加速共同驱动的革命。作为该领域的年度盛会&#xff0c;IEEE VIS会议每年都会涌现出一批推动体渲染技术边界的前沿研究。本文将带您穿越2017至2023年的时间长廊…...