网站自动识别使用设备

news/2024/9/28 17:19:57/

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

解决方案

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

例子

javascript"><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.通过检测屏幕宽度来判断

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

屏幕宽度: 1396

 具体解决

javascript">// 检测是否为移动设备
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()
}

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

javascript">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.ppmy.cn/news/1530783.html

相关文章

专题七_分治_快排_归并_算法专题详细总结

目录 分治 一、分治思想的概念 二、分治思想的步骤 1. 颜⾊分类&#xff08;medium&#xff09; 解析&#xff1a; 2. 快速排序&#xff08;medium&#xff09; 解析&#xff1a; 总结&#xff1a; 3. 快速选择算法&#xff08;medium&#xff09; 解析&#xff1a; …

Ai产品经理

从通用类产品经理转行到智能硬件产品经理&#xff0c;虽然都是产品经理&#xff0c;但是即跨越行业也跨越了职业类别。通用类的产品经理工作一般都会完整的经历市场调研、用户研究、产品策略、商业模式、营销、运营以及其他一系列相关的产品管理。转型到智能硬件行业&#xff0…

LVS与nginx的区别

文章目录 一、优势比较二、配置复杂度三、工作层次 一、优势比较 性能: LVS&#xff1a;LVS是专门为高性能设计的&#xff0c;它使用内核级别的数据包处理能力&#xff0c;能够提供非常高的吞吐量和低延迟。Nginx&#xff1a;Nginx也具有出色的性能&#xff0c;特别是在处理静态…

Django后台管理复杂模型

【图书介绍】《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) Django框架…

网络安全的方方面面

目录 一、网络安全概述二、数据加密三、消息完整性与数字签名四、身份认证五、密钥分发中心(KDC)与证书认证(CA)六、防火墙与入侵检测系统七、网络安全协议八、网络安全攻防 -- 黑客攻击简要流程九、网络安全常用术语 一、网络安全概述 网络安全的基本特征&#xff1a;相对性、…

ChatGPT-4模型镜像站对比和【软件开发人员】提示词

AI如今很强大&#xff0c;聊聊天、写论文、搞翻译、写代码、写文案、审合同等等&#xff0c;ChatGPT 真是无所不能~ 作为一款出色的大语言模型&#xff0c;ChatGPT 实现了人类般的对话交流&#xff0c;最主要是能根据上下文进行互动。 接下来&#xff0c;我将介绍 ChatGPT 在…

word2vector训练数据集整理(代码实现)

import math import os import random import torch import dltools from matplotlib import pyplot as plt #读取数据集 def read_ptb():"""将PTB数据集加载到文本行的列表中"""with open(./ptb/ptb.train.txt) as f:raw_text f.read()return…

Spring Cloud Gateway 之动态uri 自定义过滤器

背景&#xff1a;第三方公司 请求本公司入参和出参一样的同一个接口&#xff0c;根据业务类型不一样需要不同业务微服务处理 &#xff0c;和第三方公司协商在请求头中加入业务类型方便我公司在网关成分发请求。 1&#xff1a;在spring cloud gateway yml 中加入路由 重点是 -…