history.deleteUrl()

从浏览器历史记录中移除给定 URL 的所有访问记录。

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

语法

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

参数

details

object。包含要移除 URL 访问记录的对象。

url

string。要移除访问记录的 URL。

返回值

当访问记录已被移除时,一个 Promise 将会以无参数的形式 fulfilled。

示例

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

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