protocol_handlers

实验性: 这是一个 实验性技术
在生产环境中使用此功能前,请仔细查看 浏览器兼容性表格

类型 数组

protocol_handlers 成员指定一个对象的数组,这些对象是此 Web 应用可以注册和处理的协议。协议处理程序在操作系统的应用程序首选项中注册应用程序;注册将特定应用程序与给定的协议方案相关联。例如,在网页上使用 mailto:// 协议处理程序时,注册的电子邮件应用程序将打开。

注册 Web 应用作为协议处理程序后,当用户从浏览器或原生应用点击具有特定方案(如 mailto://web+music://)的超链接时,注册的 PWA 将打开并接收 URL。

示例

在此示例中,Web 应用清单声明该应用应注册以处理 web+jnglweb+jnglstore 协议。

JSON
"protocol_handlers": [
  {
    "protocol": "web+jngl",
    "url": "/lookup?type=%s"
  },
  {
    "protocol": "web+jnglstore",
    "url": "/shop?for=%s"
  }
]

开发人员可以在 manifest.json 中添加一个字段来声明 Web 应用可以处理哪些协议。如上例所示,键名为 protocol_handlers,它包含一个协议处理程序声明对象的数组。

注册应用程序以处理 URL 方案取决于操作系统。此关联通常在应用程序安装期间完成,但也可以在已安装的应用程序之后完成。

协议处理程序对象可能包含以下值

成员 描述
protocol 包含要处理的协议的必需字符串;例如:mailtoms-wordweb+jngl
url 应用程序 作用域 内的必需 HTTPS URL,它将处理该协议。%s 令牌将被以协议处理程序方案开头的 URL 替换。如果 url 是相对 URL,则基本 URL 将是清单的 URL。

规范

规范
清单孵化器
# protocol_handlers-member

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。