说明
使用 chrome.history API 与浏览器的已访问网页记录进行交互。您可以在浏览器的历史记录中添加、移除和查询网址。如需使用您自己的版本替换历史记录页面,请参阅替换页面。
权限
history如需与用户的浏览器历史记录进行交互,请使用 history API。
如需使用 History API,请在扩展程序清单中声明 "history" 权限。例如:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
概念和用法
切换类型
History API 使用转换类型来描述浏览器在特定访问中如何导航到特定网址。例如,如果用户通过点击其他网页上的链接访问某个网页,则转换类型为“link”。如需查看过渡类型列表,请参阅参考内容。
示例
如需试用此 API,请从 chrome-extension-samples 代码库中安装历史记录 API 示例。
类型
HistoryItem
封装历史记录查询结果的对象。
属性
-
id
字符串
商品的唯一标识符。
-
lastVisitTime
number 可选
此网页的上次加载时间(以自纪元以来的毫秒数表示)。
-
title
字符串 可选
网页上次加载时的标题。
-
typedCount
number 可选
用户通过输入地址访问此页面的次数。
-
网址
字符串 可选
用户访问的网址。
-
visitCount
number 可选
用户导航到此页面的次数。
枚举
“link”
用户通过点击其他页面上的链接到达此页面。
“typed”
用户通过在地址栏中输入网址到达此网页。此方法也用于其他显式导航操作。
"auto_bookmark"
用户通过界面中的建议(例如通过菜单项)到达此页面。
"auto_subframe"
用户通过并非由其请求的子框架导航到达此网页,例如通过上一页中某个框架内加载的广告。这些操作不一定会生成新的后退和前进菜单导航条目。
"manual_subframe"
用户通过在子框架中选择某项内容而到达此页面。
"generated"
用户通过在地址栏中输入内容并选择一个看起来不像网址的条目(例如 Google 搜索建议)到达此网页。例如,匹配项可能包含 Google 搜索结果页面的网址,但对用户而言,它可能显示为“在 Google 中搜索…”。这些与输入网址导航不同,因为用户并未输入或看到目标网址。它们还与关键字导航相关。
"auto_toplevel"
该网页是在命令行中指定的,或者是起始页。
"form_submit"
用户通过在表单中填写值并提交表单到达此页面。并非所有表单提交都使用此转换类型。
"reload"
用户通过点击重新加载按钮或在地址栏中按 Enter 键重新加载了网页。会话恢复和重新打开已关闭的标签页也使用此转换类型。
“keyword”
此页面的网址是由默认搜索服务提供商以外的可替换关键字生成的。
"keyword_generated"
对应于由关键字促成的访问。
UrlDetails
属性
-
网址
字符串
操作的网址。其格式必须与调用
history.search()时返回的格式相同。
VisitItem
一个封装对某个网址的一次访问的对象。
属性
-
id
字符串
对应
history.HistoryItem的唯一标识符。 -
isLocal
布尔值
Chrome 115 及更高版本 browser.*(自 Chrome 148 起)如果到访记录源自此设备,则为 True。如果它是从其他设备同步的,则为 false。
-
referringVisitId
字符串
引荐来源网址的访问 ID。
-
此访问从其引荐来源网址的转换类型。
-
visitId
字符串
此访问的唯一标识符。
-
visitTime
number 可选
此次访问发生的时间,以自纪元以来的毫秒数表示。
方法
addUrl()
browser.history.addUrl(
details: UrlDetails,
): Promise<void>
在当前时间向历史记录添加一个网址,其转换类型为“link”。
参数
-
详细信息
返回
-
承诺<void>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
deleteAll()
browser.history.deleteAll(): Promise<void>
从历史记录中删除所有内容。
返回
-
承诺<void>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
deleteRange()
browser.history.deleteRange(
range: object,
): Promise<void>
从历史记录中移除指定日期范围内的所有内容。除非所有访问记录都在该范围内,否则系统不会从历史记录中移除相应网页。
参数
-
范围
对象
-
endTime
数值
在此日期之前添加到历史记录中的内容,以自新纪元开始算起的毫秒数表示。
-
startTime
数值
在此日期之后添加到历史记录中的内容,以自纪元以来的毫秒数表示。
-
返回
-
承诺<void>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
参数
-
详细信息
返回
-
承诺<void>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
参数
-
详细信息
返回
-
Promise<VisitItem[]>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
参数
-
查询
对象
-
endTime
number 可选
将结果限制为在此日期之前访问过的结果,以自纪元以来的毫秒数表示。
-
maxResults
number 可选
要检索的结果数上限。默认值为 100。
-
startTime
number 可选
将结果限制为在此日期之后访问过的结果,以自纪元以来的毫秒数表示。如果未指定属性,则默认为 24 小时。
-
text
字符串
向历史记录服务发出的自由文本查询。将此字段留空可检索所有页面。
-
返回
-
Promise<HistoryItem[]>
Chrome 96 及更高版本 browser.*(自 Chrome 148 起)
事件
onVisited
browser.history.onVisited.addListener(
callback: function,
)
在访问网址时触发,提供该网址的 HistoryItem 数据。此事件会在网页加载之前触发。
参数
-
callback
函数
callback参数如下所示:(result: HistoryItem) => void
-
结果
-
onVisitRemoved
browser.history.onVisitRemoved.addListener(
callback: function,
)
从历史记录中移除一个或多个网址时触发。当所有访问记录都被移除后,该网址就会从历史记录中清除。
参数
-
callback
函数
callback参数如下所示:(removed: object) => void
-
已移除
对象
-
allHistory
布尔值
如果所有历史记录均已移除,则为 True。如果为 true,则网址将为空。
-
网址
string[] 可选
-
-