protocol_handlers

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

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

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

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

protocol 实验性

一个必需的字符串,包含要处理的协议;例如:mailtoms-wordweb+jngl

url 实验性

应用程序 scope 内的一个必需的 HTTPS URL,用于处理该协议。%s 令牌将被以协议处理程序方案开头的 URL 替换。如果 url 是相对 URL,则基础 URL 将是清单的 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_handlers-member

浏览器兼容性