处理渐进式Web 应用中的协议

为了创建更具吸引力的体验,渐进式Web 应用可以处理多个协议。 统一资源定位符 (URL) 是一个字符串,允许客户端标识 Web 上的资源。 URL 的第一部分是 协议,例如 httpmailto,它使客户端知道如何检索资源。

使用协议处理,安装 PWA 时,PWA 可以注册以处理某些允许的协议。 例如,电子邮件客户端应用可以注册以处理 mailto 协议,或者地理位置应用可以注册以处理 geo 协议。

如果 PWA 注册了以 web+ 前缀开头的协议,也可以处理自定义协议。

若要详细了解其他现有协议,请参阅 URI 方案列表

注册要处理的协议

若要使用协议处理,请声明应用处理哪些协议。 这是在 Web 应用 清单文件中通过使用数组成员完成的 protocol_handlers

数组中的每个 protocol_handlers 条目都包含一个 protocol 字符串和一个 url 字符串:

{
    "protocol_handlers": [
        {
            "protocol": "mailto",
            "url": "/newEmail?to=%s"
        }
    ]
}

在上面的示例中,注册应用以处理 mailto 协议。 当操作系统启动应用以 mailto 响应协议时,应用将 /newEmail 导航到 URL,将 %s 占位符替换为正在处理的完整 URL。

使用 DevTools 测试协议

可以使用 Microsoft Edge DevTools 中的 应用程序 工具验证 Microsoft Edge 是否已成功将应用注册为在 Web 应用清单中定义的协议的处理程序。 还可以测试协议,并使用不同的 URL 和终结点启动 PWA。 有关详细信息,请参阅 测试渐进式 Web 应用 (PWA) 协议处理

另请参阅