history.addUrl()

将访问给定 URL 的记录添加到浏览器的历史记录中。访问时间记录为调用时间,TransitionType 记录为“链接”。

这是一个异步函数,它返回一个 Promise

语法

js
let addingUrl = browser.history.addUrl(
  details         // object
)

参数

details

object。包含要添加的 URL 的对象。

url

string。要添加的 URL。

title 可选

string: 页面的标题。如果未提供,则标题将记录为 null

transition 可选

history.TransitionType。描述浏览器在此次访问中如何导航到该页面。如果未提供,则将记录“链接”类型的转换。

visitTime 可选

numberstringobject。表示日期和时间的数值。可以表示为:Date 对象、ISO 8601 日期字符串 或自纪元以来的毫秒数。将访问时间设置为该值。如果未提供,则将记录当前时间。

返回值

当项目已添加时,Promise 将在没有参数的情况下完成。

浏览器兼容性

BCD 表格仅在浏览器中加载

示例

添加访问“https://example.org/”的记录,然后通过搜索历史记录中最近的项目并将其记录下来来检查新访问是否已记录

js
function onGot(results) {
  if (results.length) {
    console.log(results[0].url);
    console.log(new Date(results[0].lastVisitTime));
  }
}

browser.history
  .addUrl({ url: "https://example.org/" })
  .then(() =>
    browser.history.search({
      text: "https://example.org/",
      startTime: 0,
      maxResults: 1,
    }),
  )
  .then(onGot);

添加访问“https://example.org”的记录,但将其 visitTime 设置为 24 小时前,并将 transition 设置为“typed”

js
const DAY = 24 * 60 * 60 * 1000;

function oneDayAgo() {
  return Date.now() - DAY;
}

function onGot(visits) {
  for (const visit of visits) {
    console.log(new Date(visit.visitTime));
    console.log(visit.transition);
  }
}

browser.history
  .addUrl({
    url: "https://example.org/",
    visitTime: oneDayAgo(),
    transition: "typed",
  })
  .then(() =>
    browser.history.getVisits({
      url: "https://example.org/",
    }),
  )
  .then(onGot);

注意:此 API 基于 Chromium 的 chrome.history API。此文档源自 Chromium 代码中的 history.json