chrome.history

Description

使用 chrome.history API 与浏览器的访问页面记录交互。您可以添加、删除和查询浏览器历史记录中的 URL。要使用您自己的版本覆盖历史记录页面,请参阅覆盖页面Override Pages

Permissions

history

# Manifest

您必须在扩展清单(extension manifest)中声明“历史history”权限才能使用历史 API。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}

# Transition types(过渡类型)

历史 API 使用转换类型来描述浏览器如何在特定访问中导航到特定 URL。例如,如果用户通过单击另一个页面上的链接访问一个页面,则转换类型为“链接link”。

下表描述了每种转换类型。

Transition type(过渡类型) Description
"link" “链接” 用户通过单击另一个页面上的链接到达此页面。
"typed" 用户通过在地址栏中键入 URL 来获得此页面。也用于其他显式导航操作。另请参阅生成的generated,它用于用户选择的选项与 URL 完全不同的情况。
"auto_bookmark" 用户通过 UI 中的建议(例如,通过菜单项)进入此页面。
"auto_subframe" 子帧导航。这是在非顶级框架中自动加载的任何内容。例如,如果一个页面由多个包含广告的框架组成,则这些广告 URL 具有这种转换类型。用户甚至可能没有意识到这些页面中的内容是一个单独的框架,因此可能不关心 URL (see also manual_subframe).
"manual_subframe" 对于用户明确请求并在后退/前进(back/forward)列表中生成新导航条目的子帧导航。显式请求的帧可能比自动加载的帧更重要,因为用户可能关心请求的帧已加载这一事实。
"generated" 用户通过在地址栏中键入并选择一个看起来不像 URL 的条目来访问此页面。例如,匹配项可能具有 Google 搜索结果页面的 URL,但对用户而言,它可能显示为“在 Google 中搜索...”。这些与键入的typed导航并不完全相同,因为用户没有键入或看到目标 URL。See also keyword.
"auto_toplevel" 该页面是在命令行中指定的或者是起始页面。
"form_submit" 用户在表单中填写值并提交。请注意,在某些情况下——例如当表单使用脚本提交内容时——提交表单不会导致这种转换类型。
"reload" 用户通过单击重新加载按钮或在地址栏中按 Enter 重新加载了页面。会话恢复和重新打开关闭的选项卡也使用这种转换类型。
"keyword" URL 是从默认搜索提供程序以外的可替换关键字生成的。See also keyword_generated.
"keyword_generated" 对应于为关键字生成的访问。 See also keyword.

# Examples

使用该API的示例,请参见history sample directory目录和history API test directory目录。有关其他示例和查看源代码的帮助,请参阅示例Samples

Summary

Types

HistoryItem

封装历史查询的一个结果的对象。

PROPERTIES

  • id

    string

    项目的唯一标识符。

  • lastVisitTime

    number optional

    上次加载此页面的时间,以自纪元以来的毫秒数表示。

  • title

    string optional

    上次加载时页面的标题。

  • typedCount

    number optional

    用户通过输入地址导航到此页面的次数。

  • url

    string optional

    用户导航到的 URL。

  • visitCount

    number optional

    用户导航到此页面的次数。

TransitionType

Chrome 44+

此访问的转换类型transition type来自其推荐人(referrer)。

TYPE

"link", "typed", "auto_bookmark", "auto_subframe", "manual_subframe", "generated", "auto_toplevel", "form_submit", "reload", "keyword", or "keyword_generated"

UrlDetails

Chrome 88+

PROPERTIES

  • url

    string

    操作的 URL。它必须采用调用 history.search 返回的格式。

VisitItem

封装对 URL 的一次访问的对象。

PROPERTIES

  • id

    string

    项目的唯一标识符。

  • referringVisitId

    string

    推荐人的访问 ID。

  • transition

    TransitionType

    此访问的转换类型transition type来自其推荐人。

  • visitId

    string

    本次访问的唯一标识符。

  • visitTime

    number optional

    这次访问发生的时间,以自纪元以来的毫秒数表示。

Methods

addUrl

chrome.history.addUrl( details: UrlDetails, callback?: function, )

Promise

将 URL 添加到当前时间的历史记录,转换类型transition type为“链接link”。

PARAMETERS

  • details

    UrlDetails

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

deleteAll

chrome.history.deleteAll(
  callback?: function,
)

Promise

从历史记录中删除所有项目。

PARAMETERS

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

deleteRange

chrome.history.deleteRange(
  range: object,
  callback?: function,
)

Promise

从历史记录中删除指定日期范围内的所有项目。除非所有访问都在该范围内,否则页面不会从历史记录中删除。

PARAMETERS

  • range

    object

    • endTime

      number

      在此日期之前添加到历史记录的项目,以自纪元以来的毫秒数表示。

    • startTime

      number

      在此日期之后添加到历史记录的项目,以自纪元以来的毫秒数表示。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

deleteUrl

chrome.history.deleteUrl( details: UrlDetails, callback?: function, )

Promise

从历史记录中删除所有出现的给定 URL。

PARAMETERS

  • details

    UrlDetails

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getVisits

chrome.history.getVisits( details: UrlDetails, callback?: function, )

Promise

检索有关访问 URL 的信息。

PARAMETERS

  • details

    UrlDetails

  • callback

    function optional

    The callback parameter looks like:

    (results: VisitItem[]) => void

RETURNS

  • Promise<VisitItem[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

search

chrome.history.search(
  query: object,
  callback?: function,
)

Promise

搜索与查询匹配的每个页面的上次访问时间的历史记录。

PARAMETERS

  • query

    object

    • endTime

      number optional

      将结果限制为在此日期之前访问过的结果,以自纪元以来的毫秒数表示。

    • maxResults

      number optional

      要检索的最大结果数。默认为 100。

    • startTime

      number optional

      将结果限制为在此日期之后访问的结果,以自纪元以来的毫秒数表示。如果未指定,则默认为过去 24 小时。

    • text

      string

      对历史服务的自由文本查询。留空以检索所有页面。

  • callback

    function optional

    The callback parameter looks like:

    (results: HistoryItem[]) => void

RETURNS

  • Promise<HistoryItem[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

Events

onVisited

chrome.history.onVisited.addListener(
  callback: function,
)

在访问 URL 时触发,提供该 URL 的 HistoryItem 数据。此事件在页面加载之前触发。

PARAMETERS

onVisitRemoved

chrome.history.onVisitRemoved.addListener(
  callback: function,
)

从历史服务中删除一个或多个 URL 时触发。删除所有访问后,URL 将从历史记录中清除。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (removed: object) => void
    • removed

      object

      • allHistory

        boolean

        如果删除所有历史记录,则为True。如果为 true,则 url 将为空。

      • urls

        string[] optional

By.一粒技术服务.

results matching ""

    No results matching ""