PageDataService

页面数据服务负责收集有关页面的其他数据。这可能包括有关页面上的媒体、产品信息等信息。启用后,它将自动尝试查找用户浏览页面的页面数据,或者可以将其定向到异步查找 URL 的页面数据。

PageDataService 是一个 EventEmitter,监听器可以通过 ononce 方法订阅其通知。

可以通过将 browser.pagedata.enabled 设置为 true 来启用该服务。可以通过将 browser.pagedata.log 设置为 true 来启用其他日志记录。

PageData 数据结构

在高级别上,页面数据服务可以收集许多不同类型的数据。当查询时,服务将使用 PageData 结构进行响应,该结构保存有关页面的某些常规信息、发现数据的时间以及找到的不同数据类型的映射。如果未找到任何特定数据,则此映射将为空。映射的键来自 PageDataSchema.DATA_TYPE 枚举。该值为 JSON 数据,其结构因数据类型而异。

{
  "url": <url of the page as a string>,
  "date": <epoch based timestamp>,
  "siteName": <a friendly name for the website>,
  "image": <url for an image for the page as a string>,
  "data": <map of data types>,
}

PageData 收集

页面数据以两种方式之一收集。

自动为用户访问的网页收集页面数据。此收集在短暂延迟后触发,并在必要时更新。任何数据都会在内存中缓存一段时间。找到页面数据后,会发出 page-data 事件。事件的参数包含 PageData 结构。 getCached 函数可用于访问 URL 的任何缓存数据。

支持的页面数据类型

当前支持以下页面数据类型 (PageDataSchema.DATA_TYPE)

  • 产品

  • 文档

  • 文章

  • 音频

  • 视频