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

网站如何判断请求是来自手机-移动端还是PC-电脑端?如何让网站能适应不同的客户端?

如果网站需要实现手机和PC双界面适应,可以有两种方式:
第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。

第二种是后端通过request请求头中的内容来分析客户端设备类型,从而返回不同的参数响应。这种方法需要前端写两套代码,根据后台返回的参数不同而跳转到不同的界面。

个人比较倾向于第二种方法,第二种方法显示页面的兼容性更强,不会造成一些意想不到的由客户端不同造成的兼容性问题。

那么怎么判断呢?
可参照下面两篇博文进行:
https://blog.csdn.net/weixin_27322123/article/details/116516053

https://blog.csdn.net/qq_38084142/article/details/81663465

其实上面两篇博文的价值就告诉你在headers中,如果有哪些关键字就可判断为来自于移动端,否则就认为是电脑端。

在分析了自己网站的日志后,并结合上面的文章,总结出如下关键词为来自移动端:

mobile
android
mac os
windows phone
iphone
ipad

注意:先要对headers全部转换为小写哦。
相关实例如下:

android、mobile:

"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Mobile Safari/537.36"

iphone、mobile、mac os:

"Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.38(0x1800262b) NetType/WIFI Language/zh_CN qcloudcdn-xinan Request-Source=4 Request-Channel=99

ipad、mobile、mac os:

"Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"

具体在实现时,判断顺序如下:
mobile→
android→
mac os→
iphone→
ipad→
windows phone。


http://www.kler.cn/a/105785.html

相关文章:

  • ue中使用webui有效果白色拖动条 有白边
  • java itext后端生成pdf导出
  • 基于yolov8、yolov5的行人检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • 美赛优秀论文阅读--2023C题
  • 2、计算机网络七层封包和解包的过程
  • 2411rust,1.80
  • Use nvidia card in docker
  • OKLink携手CertiK在港举办Web3生态安全主题论坛
  • Centos 7 安装 Docker Enginee
  • 常用docker命令 docker_cmd_sheet
  • 18亿欧元大动作,法国瞄准实现量子飞跃
  • SpringBoot日志+SpringMVC+UUID重命名文件+Idea热部署
  • 苹果系统H5下拉加载事件重复触发(react hooks)
  • JVM 类的加载子系统
  • 基于springboot实现网吧管理系统项目【项目源码+论文说明】计算机毕业设计
  • 这是一个lonely的问题——二进制
  • python和Springboot如何交互?
  • C++快速幂(递归)
  • elementui时间日期组件右边自定义图标
  • VS工程的“多dll与exe文件合并”
  • DevOps持续集成-Jenkins(4)
  • leetcode 146. LRU 缓存
  • (react+ts)vite项目中的路径别名的配置
  • 共享WiFi贴推广项目怎么操作?
  • el-select multiple表单校验问题
  • 「译文」深入了解Kubernetes和Nomad