history.deleteUrl()

从浏览器历史记录中删除对指定 URL 的所有访问记录。

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

语法

js
let deletingUrl = browser.history.deleteUrl(
  details         // object
)

参数

details

object. 包含要删除其访问记录的 URL 的对象。

url

string. 要删除其访问记录的 URL。

返回值

当访问记录已删除时,一个 Promise 将在没有参数的情况下被执行。

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

示例

从历史记录中删除对“https://example.org/”的所有访问记录,然后检查此 URL 是否不再从 history.search() 中返回。

js
let urlToRemove = "https://example.org/";

function onGot(results) {
  if (!results.length) {
    console.log(`${urlToRemove} was removed`);
  } else {
    console.log(`${urlToRemove} was not removed`);
  }
}

function onRemoved() {
  let searching = browser.history.search({
    text: urlToRemove,
    startTime: 0,
  });

  searching.then(onGot);
}

let deletingUrl = browser.history.deleteUrl({ url: urlToRemove });

deletingUrl.then(onRemoved);

从历史记录中删除上次访问的页面,并使用一个监听器来监听 history.onVisitRemoved 以记录已删除页面的 URL。

js
function onRemoved(removeInfo) {
  if (removeInfo.urls.length) {
    console.log(`Removed: ${removeInfo.urls[0]}`);
  }
}

browser.history.onVisitRemoved.addListener(onRemoved);

function onGot(results) {
  if (results.length) {
    console.log(`Removing: ${results[0].url}`);
    browser.history.deleteUrl({ url: results[0].url });
  }
}

let searching = browser.history.search({
  text: "",
  startTime: 0,
  maxResults: 1,
});

searching.then(onGot);

扩展示例

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