Windows 上的 PWA
发布于 更新于
一句话: 在 Windows 上,Microsoft Edge 通过自身的安装功能安装满足条件的 PWA;根据微软的文档,安装后该应用会“像其他应用一样”运行——出现在任务栏 (可以固定在那里)、显示在开始菜单,并在使用 Alt+Tab 切换窗口时出现。
在 Windows 上安装
Section titled “在 Windows 上安装”根据微软的 UX 文档,当 Edge 判断某个网站是可安装的 PWA 时,地址栏会出现 一个“可用应用”图标。点击该图标会打开安装浮层,其中包含“安装”按钮;安装 完成后,“该 PWA 会在 Windows 中运行”。
许多 PWA 也会在 Microsoft Store 中上架,根据微软概述文档的说法,它们 “在 Microsoft Store 中被当作其他应用对待”,因此用户可以从发现、安装到 运行都无需打开浏览器。
与 Windows 的集成
Section titled “与 Windows 的集成”根据微软的文档,已安装的 PWA 会像原生应用一样显示在 Windows 中:
- 出现在任务栏中,可以被固定。
- 出现在开始菜单中。
- 使用 Alt+Tab 切换应用时会显示。
用户还可以将已安装的 PWA 设置为登录 Windows 时自动启动,既可以在安装过程中
设置,也可以之后在 edge://apps 中设置。
根据 MDN 的 CSS 文档,display-mode 是一个媒体特性,当“应用的外观和体验
将与独立应用一致”(包括“在应用启动器中拥有自己的图标”)时,其
standalone 值匹配。根据 MDN 的 Window.matchMedia() 文档,该方法
“返回一个新的 MediaQueryList 对象,可用于判断文档是否匹配该媒体
查询”,因此可以从脚本中查询这一 CSS 媒体特性:
function isStandaloneDisplayMode() { if (!('matchMedia' in window)) { // 回退:matchMedia 不可用——视为普通浏览器标签页。 return false; } return window.matchMedia('(display-mode: standalone)').matches;}
if (isStandaloneDisplayMode()) { // 正处于 standalone 显示模式:跳过安装引导。} else { // 展示安装的行动号召。}上面的 isStandaloneDisplayMode() 就是特性检测步骤:它在调用 matchMedia 之前先
检测其是否存在,并在该 API 不可用时回退为把页面当作普通浏览器标签页处理,
而不是抛出异常。
本条目描述的是 Microsoft Edge 在 Windows 上的具体行为,依据微软自身的
文档。上文查询的 display-mode: standalone 媒体特性属于 MDN 记录的
CSS Media Queries 规范,并非 Windows 或 Edge 专属。
实用检查清单
Section titled “实用检查清单”- 不要假设所有用户都从浏览器安装——微软的文档说明许多 PWA 也可以直接 从 Microsoft Store 的应用页面安装。
- 根据微软的文档,PWA 在 FSLogix 环境中不受支持:可以在该环境中 安装 PWA,但用户注销再登录后安装会丢失。请提醒 FSLogix/虚拟桌面用户, 或不要在该环境中依赖持久化的 Windows 安装。
- 通过
edge://apps或 Windows 自身的应用和功能设置测试卸载 行为,微软的文档将两者都记录为有效的管理入口。