history.onVisitRemoved

當頁面從瀏覽器歷史記錄中完全移除時觸發。

  • 如果某個頁面的所有訪問記錄都被移除(例如,使用 history.deleteUrl),則會觸發一次此事件。
  • 如果移除了某個時間範圍內的訪問記錄(例如,使用 history.deleteRange 或“清除最近歷史記錄”等瀏覽器功能),則對於所有訪問記錄均落在此清除範圍內的每個頁面,會觸發一次此事件。
  • 如果清除了瀏覽器全部歷史記錄(例如,使用 history.deleteAll),則只觸發一次此事件。

語法

js
browser.history.onVisitRemoved.addListener(listener)
browser.history.onVisitRemoved.removeListener(listener)
browser.history.onVisitRemoved.hasListener(listener)

事件有三個函式

addListener(listener)

向此事件新增監聽器。

removeListener(listener)

停止監聽此事件。listener 引數是要移除的監聽器。

hasListener(listener)

檢查 listener 是否已為此事件註冊。如果正在監聽,則返回 true,否則返回 false

addListener 語法

引數

監聽器

當此事件發生時呼叫的函式。該函式將傳遞此引數

已移除

object. 移除的詳細資訊。這是一個包含兩個屬性的物件:一個布林值 allHistory 和一個數組 urls

  • 如果此事件是因為清除了所有歷史記錄而觸發,則 allHistory 的值為 true,而 urls 將是一個空陣列。
  • 否則,allHistory 的值為 false,而 urls 將包含一項,即被移除頁面的 URL。

示例

js
function onRemoved(removed) {
  if (removed.allHistory) {
    console.log("All history removed");
  } else if (removed.urls.length) {
    console.log(`URL removed: ${removed.urls[0]}`);
  }
}

browser.history.onVisitRemoved.addListener(onRemoved);

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.history API。本文件源自 Chromium 程式碼中的 history.json