history.onVisitRemoved

Fired when a page is removed completely from the browser history.

  • If all visits to a single page are removed (for example, using history.deleteUrl), then this event is fired once.
  • If a range of visits is removed (for example, using history.deleteRange or a browser feature like "Clear Recent History"), then it is fired once for each page whose visits all fall within the cleared range.
  • If the browser's entire history is cleared (for example, using history.deleteAll), then it is fired only once.

Syntax

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

Events have three functions:

addListener(listener)

Adds a listener to this event.

removeListener(listener)

Stop listening to this event. The listener argument is the listener to remove.

hasListener(listener)

Check whether listener is registered for this event. Returns true if it is listening, false otherwise.

addListener syntax

Parameters

listener

The function called when this event occurs. The function is passed this argument:

removed

object. Details of the removal. This is an object containing two properties: a boolean allHistory and an array urls.

  • If this event is firing because all history was cleared, allHistory will be true and urls will be an empty array.
  • Otherwise, allHistory will be false and urls will contain one item, which is the URL of the removed page.

Browser compatibility

BCD tables only load in the browser

Examples

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);

Note: This API is based on Chromium's chrome.history API. This documentation is derived from history.json in the Chromium code.