W3cubDocs

/Web Extensions

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 will be fulfilled with no parameters when the item has been added.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
addUrl
Yes
79
49
?
Yes
No
?
?
No
?
?
?
title
No
No
49
?
No
No
?
?
No
?
?
?
transition
No
No
49
?
No
No
?
?
No
?
?
?
visitTime
No
No
49
?
No
No
?
?
No
?
?
?

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

Note: 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.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history/addUrl