history.search()
搜索浏览器的历史记录,查找与给定条件匹配的 history.HistoryItem
对象。
这是一个异步函数,它返回一个 Promise
。
语法
let searching = browser.history.search(
query // object
)
参数
query
-
一个对象,指示在浏览器历史记录中查找什么。此对象具有以下字段
text
-
string
。按 URL 和标题搜索历史记录项。字符串在空格边界处拆分为单独的搜索词。每个搜索词都与历史记录项的 URL 和标题进行不区分大小写的匹配。如果所有搜索词都匹配,则会返回历史记录项。例如,考虑以下项目
URL:
"http://example.org"
标题:
"Example Domain"
"http" -> matches "domain" -> matches "MAIN ample" -> matches "main tt" -> matches "main https" -> does not match
指定空字符串 (
""
) 以检索满足所有其他条件的所有history.HistoryItem
对象。 startTime
可选-
number
或string
或object
。表示日期和时间的数值。这可以表示为:Date
对象、ISO 8601 日期字符串 或自纪元以来的毫秒数。如果提供,此选项将排除其lastVisitTime
早于此时间的搜索结果。如果省略,则搜索将限于过去 24 小时。 endTime
可选-
number
或string
或object
。表示日期和时间的数值。这可以表示为:Date
对象、ISO 8601 日期字符串 或自纪元以来的毫秒数。如果提供,此选项将搜索结果限制为在此日期之前访问的结果。如果省略,则会考虑从开始时间起的所有条目。 maxResults
可选-
number
。要检索的最大结果数。默认为 100,最小值为 1。如果您传递给它小于 1 的maxResults
值,则该函数将抛出错误。
返回值
一个 Promise
将以一个 history.HistoryItem
类型的对象数组的形式完成,每个对象描述一个匹配的历史记录项。项目按时间倒序排序。
示例
记录过去 24 小时内访问的所有历史记录项的 URL 和上次访问时间
function onGot(historyItems) {
for (const item of historyItems) {
console.log(item.url);
console.log(new Date(item.lastVisitTime));
}
}
browser.history.search({ text: "" }).then(onGot);
记录曾经访问过的所有历史记录项的 URL 和上次访问时间
function onGot(historyItems) {
for (const item of historyItems) {
console.log(item.url);
console.log(new Date(item.lastVisitTime));
}
}
browser.history
.search({
text: "",
startTime: 0,
})
.then(onGot);
记录包含字符串“mozilla”的页面的最近一次访问的 URL 和上次访问时间
function onGot(historyItems) {
for (const item of historyItems) {
console.log(item.url);
console.log(new Date(item.lastVisitTime));
}
}
browser.history
.search({
text: "mozilla",
startTime: 0,
maxResults: 1,
})
.then(onGot);
扩展示例
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的 chrome.history
API。本文档源自 Chromium 代码中的 history.json
。