苹果手机safari浏览器的userAgent显示为电脑的userAgent问题解决

2024-06-23 10:20

本文主要是介绍苹果手机safari浏览器的userAgent显示为电脑的userAgent问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.问题背景

2.userAgent

3.解决


1.问题背景

开发了一个H5,是通过生成二维码,扫描这个二维码后就跳到这个H5,所以需要判断一下扫描的设备是否为手机,然后由于业务逻辑还需要判断一下手机是Android、iOS还是iPad。一般前端的做法是通过浏览器的userAgent来判断,某天有用户保障,说通过苹果手机扫描二维码后H5提示用户设备不是Android或者iPhone。

2.userAgent

简单说下userAgent包含了哪些信息。我们可以在浏览器的开发者工具输入window.navigator.userAgen 获取userAgent。比如:

'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'

  • Mozilla/5.0: 这是一个历史遗留的标识,大多数现代浏览器仍然使用它作为userAgent的开头。
  • (Macintosh; Intel Mac OS X 10_15_7):这段标识的是用户所使用的操作系统名称、版本号以及体系结构。
  • AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36:这里包含了浏览器引擎及其版本号。

3.解决

推荐一个网站,打开这个网站就能获取到你手机浏览器的userAgent,当然用电脑打开也会获取到,但是电脑我们可以直接看开发者工具,手机H5是无法查看的,所以可以使用这个网站。

UserAgent分析和查询 浏览器UA分析 UA查看 iP138在线工具

通过用户的帮忙,发现用户的苹果手机的userAgent竟然为mac电脑的userAgent,what?难道是组装机? 最后,通过查阅资料,发现用户打开的safari浏览器的桌面模式,safari设置为桌面模式。

最后,让用户关掉这个桌面模式就可以正常请求H5了。

这篇关于苹果手机safari浏览器的userAgent显示为电脑的userAgent问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086887

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4