判断当前页面是否以「添加到主屏幕」应用形态启动 (快捷方式\APP、套壳包等启动)
这里写自定义目录标题判断当前页面是否以「添加到主屏幕」应用形态启动判断当前页面是否以「添加到主屏幕」应用形态启动/** * 判断当前页面是否以「添加到主屏幕」应用形态启动 * - iOS Safari: navigator.standalone * - 标准 PWA: display-mode 为 standalone/fullscreen/minimal-ui */importstorefrom/storeexportfunctionisLaunchedFromHomeScreen(){// 检查 window 对象是否存在if(typeofwindowundefined)returnfalse// iOS 设备// 当用户将网页“添加到主屏幕”并从桌面图标启动时navigator.standalone 的值为 true。// 如果是在普通 Safari 浏览器中访问该值为 false 或 undefined。// 如果 isIosStandalone 为真说明是在 iOS 设备上以 PWA 模式启动constnavwindow.navigator||{}constisIosStandaloneBoolean(nav.standalone)// 自己的特定业务逻辑: 比如套壳包。 也认为是主屏幕启动constisClientShellstore.state.app.clientTypeshell-h5// 标准 PWA / Android 设备的判断使用媒体查询检测“显示模式”// 标准 PWA: display-mode 为 standalone/fullscreen/minimal-ui// supportsMatchMedia 检查浏览器是否支持 matchMedia APIconstsupportsMatchMediatypeofwindow.matchMediafunctionconstisStandaloneDisplayModesupportsMatchMedia// 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.coloradmin.cn/o/2480247.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!