history.onTitleChanged

Fired when the title of a page visited by the user is recorded. To listen for visits to a page you use history.onVisited. However, the history.HistoryItem that this event passes to its listener does not include the page title, because the page title is typically not known at the time history.onVisited is sent. Instead, the stored history.HistoryItem is updated with the page title after the page has loaded, once the title is known. The history.onTitleChanged event is fired at that time. So if you need to know the titles of pages as they are visited, listen for history.onTitleChanged.

Syntax

js
browser.history.onTitleChanged.addListener(listener)
browser.history.onTitleChanged.removeListener(listener)
browser.history.onTitleChanged.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 an object with these properties:

id

String. The unique identifier for the history.HistoryItem associated with this visit.

url

String. URL of the page visited.

title

String. Title of the page visited.

Browser compatibility

BCD tables only load in the browser

Examples

Listen for title change events, and log the ID, URL, and title of the visited pages.

js
function handleTitleChanged(item) {
  console.log(item.id);
  console.log(item.title);
  console.log(item.url);
}

browser.history.onTitleChanged.addListener(handleTitleChanged);

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