history.addUrl()

Adds a record to the browser's history of a visit to the given URL. The visit's time is recorded as the time of the call, and the TransitionType is recorded as "link".

This is an asynchronous function that returns a Promise.

Syntax

js
let addingUrl = browser.history.addUrl(
  details         // object
)

Parameters

details

object. Object containing the URL to add.

url

string. The URL to add.

title Optional

string: The title of the page. If this is not supplied, the title will be recorded as null.

transition Optional

history.TransitionType. Describes how the browser navigated to the page on this occasion. If this is not supplied, a transition type of "link" will be recorded.

visitTime Optional

number or string or object. A value indicating a date and time. This can be represented as: a Date object, an ISO 8601 date string, or the number of milliseconds since the epoch. Sets the visit time to this value. If this is not supplied, the current time will be recorded.

Return value

A Promise will be fulfilled with no parameters when the item has been added.

Browser compatibility

BCD tables only load in the browser

Examples

Add a record of a visit to "https://example.org/", then check that the new visit was recorded by searching history for the most recent item and logging it:

js
function onGot(results) {
  if (results.length) {
    console.log(results[0].url);
    console.log(new Date(results[0].lastVisitTime));
  }
}

browser.history
  .addUrl({ url: "https://example.org/" })
  .then(() =>
    browser.history.search({
      text: "https://example.org/",
      startTime: 0,
      maxResults: 1,
    }),
  )
  .then(onGot);

Add a record of a visit to "https://example.org", but give it a visitTime 24 hours in the past, and a transition of "typed":

js
const DAY = 24 * 60 * 60 * 1000;

function oneDayAgo() {
  return Date.now() - DAY;
}

function onGot(visits) {
  for (const visit of visits) {
    console.log(new Date(visit.visitTime));
    console.log(visit.transition);
  }
}

browser.history
  .addUrl({
    url: "https://example.org/",
    visitTime: oneDayAgo(),
    transition: "typed",
  })
  .then(() =>
    browser.history.getVisits({
      url: "https://example.org/",
    }),
  )
  .then(onGot);

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