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

判断当前页面是否以「添加到主屏幕」应用形态启动 (快捷方式\APP、套壳包等启动)

这里写自定义目录标题

  • 判断当前页面是否以「添加到主屏幕」应用形态启动

判断当前页面是否以「添加到主屏幕」应用形态启动

/** * 判断当前页面是否以「添加到主屏幕」应用形态启动 * - iOS Safari: navigator.standalone * - 标准 PWA: display-mode 为 standalone/fullscreen/minimal-ui */importstorefrom'@/store'exportfunctionisLaunchedFromHomeScreen(){// 检查 window 对象是否存在if(typeofwindow==='undefined')returnfalse// iOS 设备// 当用户将网页“添加到主屏幕”并从桌面图标启动时,navigator.standalone 的值为 true。// 如果是在普通 Safari 浏览器中访问,该值为 false 或 undefined。// 如果 isIosStandalone 为真,说明是在 iOS 设备上以 PWA 模式启动constnav=window.navigator||{}constisIosStandalone=Boolean(nav.standalone)// 自己的特定业务逻辑: 比如:套壳包。 也认为是主屏幕启动constisClientShell=store.state.app.clientType==='shell-h5'// 标准 PWA / Android 设备的判断(使用媒体查询检测“显示模式”)// 标准 PWA: display-mode 为 standalone/fullscreen/minimal-ui// supportsMatchMedia 检查浏览器是否支持 matchMedia APIconstsupportsMatchMedia=typeofwindow.matchMedia==='function'constisStandaloneDisplayMode=supportsMatchMedia&&// display-mode: standalone:表示应用以独立窗口运行(window.matchMedia('(display-mode: standalone)').matches||// 全屏模式。window.matchMedia('(display-mode: fullscreen)').matches||// 极简 UI 模式window.matchMedia('(display-mode: minimal-ui)').matches)// 只要满足以上任意一个条件,就认为是主屏幕启动returnisIosStandalone||isStandaloneDisplayMode||isClientShell}
http://www.jsqmd.com/news/583348/

相关文章:

  • 2025-2026年全球空气能热水器十大品牌评测:五款口碑产品评价盘点 - 十大品牌推荐
  • 2025-2026年全球空气能热水器十大品牌评测:五家口碑产品推荐评价知名 - 十大品牌推荐
  • 20260403 之所思 - 人生如梦
  • FAST-LIO 激光雷达-惯性SLAM建图算法
  • 2025-2026年全球空气能热水器十大品牌推荐:TOP5口碑产品评测对比知名 - 十大品牌推荐
  • 2025最权威的降AI率助手推荐榜单
  • 通过 C# 将 RTF 格式转换为 Word 文档
  • 2026年市场建筑结构检测实力厂家,建筑结构胶/建筑结构检测/建筑加固,建筑结构检测直销厂家口碑推荐 - 品牌推荐师
  • ORA-12518:Oracle 监听程序无法分发客户端连接原因及解决方法
  • rngd引起的Centos系统CPU飚高的问题解决方式
  • storageclass介绍和使用
  • 2025-2026年全球空气能热水器十大品牌评测:五款口碑产品推荐评价盘点 - 十大品牌推荐
  • ChatGPT-初学者指南-人工智能的简单解释及其如何为您带来益处
  • 家用混动SUV舒适度技术科普入门:从实测看核心技术要点
  • 在 vite + vue 中 结合 postcss + postcss-pxtorem + autoprefixer 配置 px 转 rem
  • 当多智能体遇上频域干扰:一场代码与策略的华尔兹
  • Redis 内存淘汰与过期策略
  • 肉包 Roubao 深度技术解析:首款无需电脑的开源 AI 手机自动化助手
  • OpenClaw 局域网访问配置文档
  • Spring 为什么要用三级缓存?
  • 计算机毕业设计:Python汽车销量全栈分析系统 Flask框架 可视化 机器学习 AI 大模型 大数据(建议收藏)✅
  • 水质溶解氧在线监测仪:实时监测与数据记录解析
  • Python 实战:数据归一化 4 种核心方法对比 + 代码实现(机器学习必看)
  • BililiveRecorder全场景应用指南:从入门到精通的直播内容捕获方案
  • Javase(三)三大特性之封装
  • java答题pk小程序源码核心功能
  • AI-现金流-将-ChatGPT-变成您的-24-7-赚钱机器-2025-版-
  • 3D卷积和2D卷积区分-高光谱图像为例
  • 用了大半年的免费云服务器,分享真实体验
  • 看这家美国顶级新闻媒体如何用 Splashtop 实现效率与安全双飞跃