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

var addingUrl = browser.history.addUrl(
  details         // object
)

Parameters

details
object. Object containing the URL to add.
url
string. The URL to add.
titleOptional
string: The title of the page. If this is not supplied, the title will be recorded as null.
transitionOptional
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.
visitTimeOptional
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. The promise will be fulfilled with no parameters when the item has been added.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
Basic support Yes No 49.0 No 33

Compatibility notes

Chrome

  • 'title', 'visitTime', and 'transition' are not supported.

Opera

  • 'title', 'visitTime', and 'transition' are not supported.

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:

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

function onAdded() {
  var searching = browser.history.search({
    text: "https://example.org/",
    startTime: 0,
    maxResults: 1
  });
  searching.then(onGot);
}

var addingUrl = browser.history.addUrl({url: "https://example.org/"});
addingUrl.then(onAdded);

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":

const DAY = 24 * 60* 60 * 1000;

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

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

function onAdded() {
  var gettingVisits = browser.history.getVisits({
    url: "https://example.org/"
  });

  gettingVisits.then(onGot);
}

var addingUrl = browser.history.addUrl({
  url: "https://example.org/",
  visitTime: oneDayAgo(),
  transition: "typed"
});

addingUrl.then(onAdded);

Acknowledgements

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

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: wbamberg, Makyen
 Last updated by: wbamberg,