url_handlers
由打包应用使用,指定应用希望拦截并处理的 URL
匹配表达式。应用可以在这一清单文件项中定义多个 URL
处理程序,每一个处理程序都应该有标识符、名称和标题。如下是指定
url_handlers
的例子:
"url_handlers": { "view_foo_presentation": { "matches": [ "https://www.foo.com/presentation/view/*" ], "title": "查看 Foo 演示文稿" }, "view_bar_presentation": { "matches": [ "https://www.bar.com/view/slideshow/*" ], "title": "查看 Bar 演示文稿" }, "edit_spreadsheet": { "matches": [ "https://www.foo.com/spreadsheet/edit/*", "https://www.bar.com/spreadsheet/edit/*" ], "title": "编辑电子表格" } }
应用只能注册并处理自己拥有的域名之内的 URL 匹配表达式,也就是说必须在 Chrome 网上应用店中证明所有权。违反这一要求,尝试注册并处理外部 URL 的应用在上传到 Chrome 网上应用店时会被拒绝。
这也意味着 matches
中至少要指定一个完整域名(否则无法验证所有权)。
注册并安装成功后,浏览器标签页以及其他应用内所有匹配的导航都会启动应用。应用会收到一种新的 app.runtime.onLaunched 事件,它的 launchData 对象包含匹配的处理程序标识符(例如上面的 "view_foo_presentation")、导航至的 URL 以及引用 URL。
title
字段保留,将来在所有相关的用户界面元素中使用,它应该描述应用通过这种类型的
URL 处理程序启动时执行的操作。