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

网站自动识别使用设备

现在有一个需求是,写了两组页面,进行渲染,一组是pc端,另外一组是移动端,要自动匹配当前设备进行渲染

解决方案

1.通过 navigator.userAgent来判断当前的设备

例子

<script>
  document.write("用户代理: " + navigator.userAgent);
</script>

 在IE打开

用户代理: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0

在谷歌打开

用户代理: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36

2.通过检测屏幕宽度来判断

<script>
  document.write("屏幕宽度: " + window.innerWidth);
</script>

屏幕宽度: 1396

 具体解决

// 检测是否为移动设备
function isMobileDevice() {
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}

// 检测屏幕宽度是否小于等于某个阈值(例如 768px)
function isMobileWidth() {
  return window.innerWidth <= 768;
}

export function isMobile() {
  return isMobileDevice() || isMobileWidth()
}

通过判断来决定请求不同的资源,来实现在不同的设备显示不同的页面

const QuestionAnswering = isMobile() ? () => import('@/h5/index.vue') : () => import('@/views/index.vue')
const ResourceCenter = isMobile() ? () => import('@/h5/View.vue') : () => import('@/views/View.vue')

当然还有一些别的方法,例如nginx上搞了一个detector,用于识别终端和设备类型。或者http协议的request headers中包含了user-agent这个key,获取这个key-value就可以判断是用什么访问了都可以实现,不过需要后端同学,帮一下忙了


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

相关文章:

  • 算法学习第一弹——C++基础
  • LlamaIndex
  • Bugku CTF_Web——点login咋没反应
  • golang如何实现sse
  • Java 网络编程(一)—— UDP数据报套接字编程
  • 【系统设计】数据库压缩技术详解:从基础到实践(附Redis内存优化实战案例)
  • React 知识框架
  • SIP信令的基本流程
  • Android架构组件: MVVM模式的实战应用与数据绑定技巧
  • 低空经济刚需篇:各种道路不畅地区无人机吊装详解
  • Stable Diffusion 优秀博客转载
  • 【方案】智慧消防建设规划方案(PPT)
  • 富格林:积攒经验阻挠欺诈套路
  • 公用代码片码抽取需要不断的强化代码复用意识
  • 【高效且应用广泛的排序 —— 快速排序算法】
  • 如何让程序等待输入
  • springboot 整合酷狗获取MV视频最高画质(使用自己账户)
  • 2024人工智能结课作业-DFS/BFS/Astar解决数码问题
  • Linux主流Web服务器:你选择哪一款?
  • 华为---以太网静态路由配置使用下一跳通信正常,而使用出接口无法通信
  • React项目实战(React后台管理系统、TypeScript+React18)
  • 锤炼核心技能以应对编程革命
  • threejs加载高度图渲染点云,不支持tiff
  • 【Linux:共享内存】
  • C# 从字符串中分离文件路径、文件名及扩展名
  • C# winforms DataGridView设置数据源自动显示表格