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 处理程序启动时执行的操作。