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