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

js:网页屏幕尺寸小于768时,切换到移动端页面

一、前言

当分别做了PC端和移动端,pc端没做成响应式,网页屏幕尺寸小于768时,就需要切换到移动端页面。

二、代码

网页端代码:screen.js

// 设备检测与页面跳转工具
class DeviceRedirect {constructor() {this.mobilePage = 'http://cd-qj.com:10003/#/'; // 移动端页面路径:换成自己的路径this.pcPage = 'index.html'; // PC端页面路径:换成自己的路径this.breakpoint = 768; // 断点宽度this.isRedirecting = false; // 防止重复跳转}// 检测设备类型并执行跳转checkAndRedirect() {if (this.isRedirecting) return;const width = window.innerWidth;const isMobile = width < this.breakpoint;if (isMobile && !this.isMobilePage()) {this.redirectToMobile();} else if (!isMobile && this.isMobilePage()) {this.redirectToPC();}}// 跳转到移动端页面redirectToMobile() {this.isRedirecting = true;window.location.href = this.mobilePage;}// 跳转到PC端页面redirectToPC() {this.isRedirecting = true;window.location.href = this.pcPage;}// 检测当前是否在移动端页面isMobilePage() {return window.location.pathname.includes(':10003/#/');}// 初始化监听init() {// 初始检测this.checkAndRedirect();// 监听窗口大小变化(带防抖优化)let resizeTimeout;window.addEventListener('resize', () => {clearTimeout(resizeTimeout);resizeTimeout = setTimeout(() => {this.checkAndRedirect();}, 250);});}
}// 创建实例并初始化
const deviceRedirect = new DeviceRedirect();
deviceRedirect.init();// 可选:导出供其他模块使用
if (typeof module !== 'undefined' && module.exports) {module.exports = DeviceRedirect;
}

用法:将screen.js引入到每个需要切换的页面即可,就可实现实时监测。

注意:如果需要pc端和移动端页面来回切换,移动端也要做监测和跳转

http://www.dtcms.com/a/609509.html

相关文章:

  • 《LLM零开销抽象与插件化扩展指南》
  • C++_面试题_21_字符串操作
  • 多重组合问题与矩阵配额问题
  • 什么情况下会把 SYN 包丢弃?
  • EG27324 带关断功能双路MOS驱动芯片技术解析
  • do_action wordpress 模板关键词优化排名的步骤
  • 海外网站入口通信管理局 网站备案
  • 在 Java 中实现 Excel 数字与文本转换
  • 如何保持不同平台的体验一致性
  • redis(五)——管道、主从复制
  • OBS直播教程:OBS实时字幕插件如何下载?OBS实时字幕插件如何安装?OBS实时字幕插件如何使用?OBS实时字幕插件官方下载地址
  • WPF中TemplatePart机制详解
  • 大学生毕业设计课题做网站网站开发研发设计
  • PPT制作正在发生一场静默革命
  • 无线通信信道的衰落特性
  • 大模型量化压缩实战:从FP16到INT4的生产级精度保持之路
  • ListDLLs Handle 学习笔记(8.11):谁注入了 DLL?谁占着文件不放?一篇教你全搞定
  • 电子电气架构 ---软件架构的准则与描述
  • linux下网站搭建wordpress文章页图片尺寸
  • 上海集团网站建设公司好蚌埠的网站建设
  • opencv 学习: QA_01 什么是图像锐化
  • C++标准库中的排序算法
  • 做网站图片和文字字体侵权seo是什么意思金融
  • Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
  • 科普:华为星闪是什么?华为星闪(英文名 NearLink)是国际星闪无线短距通信联盟发布的新型无线短距通信标准技术。
  • 数据结构6:排序
  • 解决 npm 依赖版本冲突:从 “unable to resolve dependency tree“ 到依赖管理高手
  • Ubuntu 使用 Python 启动 HTTP 服务
  • day14(11.14)——leetcode面试经典150
  • PyTorch实战(10)——从零开始实现GPT模型