protocol_handlers
类型 | 数组 |
---|
protocol_handlers
成员指定一个对象的数组,这些对象是此 Web 应用可以注册和处理的协议。协议处理程序在操作系统的应用程序首选项中注册应用程序;注册将特定应用程序与给定的协议方案相关联。例如,在网页上使用 mailto://
协议处理程序时,注册的电子邮件应用程序将打开。
注册 Web 应用作为协议处理程序后,当用户从浏览器或原生应用点击具有特定方案(如 mailto://
或 web+music://
)的超链接时,注册的 PWA 将打开并接收 URL。
示例
在此示例中,Web 应用清单声明该应用应注册以处理 web+jngl
和 web+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 |
包含要处理的协议的必需字符串;例如:mailto 、ms-word 、web+jngl 。 |
url |
应用程序 作用域 内的必需 HTTPS URL,它将处理该协议。%s 令牌将被以协议处理程序方案开头的 URL 替换。如果 url 是相对 URL,则基本 URL 将是清单的 URL。 |
规范
规范 |
---|
清单孵化器 # protocol_handlers-member |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。