history
Use the history
API to interact with the browser history.
If you are looking for information about the browser session history, see the History interface.
Note: Downloads are treated as HistoryItem
objects. Therefore, events such as history.onVisited
fire for downloads.
Browser history is a chronological record of pages the user has visited. The history API enables you to:
- search for pages that appear in the browser history
- remove individual pages from the browser history
- add pages to the browser history
- remove all pages from the browser history.
However, the user may have visited a single page multiple times, so the API also has the concept of "visits". So you can also use this API to:
- retrieve the complete set of visits the user made to a particular page
- remove visits to any pages made during a given time period.
To use this API, an extension must request the "history" permission in its manifest.json
file.
Types
history.TransitionType
- Describes how the browser navigated to a particular page.
history.HistoryItem
-
Provides information about a particular page in the browser history.
history.VisitItem
-
Describes a single visit to a page.
Functions
history.search()
- Searches the browser history for
history.HistoryItem
objects matching the given criteria. history.getVisits()
- Retrieves information about visits to a given page.
history.addUrl()
- Adds a record to the browser history of a visit to the given page.
history.deleteUrl()
- Removes all visits to the given URL from the browser history.
history.deleteRange()
- Removes all visits to pages that the user made during the given time range.
history.deleteAll()
- Removes all visits from the browser history.
Events
history.onTitleChanged
- Fired when the title of a page visited by the user is recorded.
history.onVisited
- Fired each time the user visits a page, providing the
history.HistoryItem
data for that page. history.onVisitRemoved
-
Fired when a URL is removed completely from the browser history.
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 | |
HistoryItem |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
TransitionType |
Yes |
79 |
50 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
VisitItem |
Yes |
79 |
50 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
addUrl |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
deleteAll |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
deleteRange |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
deleteUrl |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
getVisits |
Yes |
79 |
50 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onTitleChanged |
No |
No |
55 |
? |
No |
No |
? |
? |
No |
? |
? |
? |
onVisitRemoved |
Yes |
79 |
50 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
onVisited |
Yes |
79 |
50
Before version 56, the result object's 'title' was always an empty string. From version 56 onwards, it is set to the last known title, if that is available, or an empty string otherwise.
|
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
search |
Yes |
79 |
49 |
? |
Yes |
No |
? |
? |
No |
? |
? |
? |
Example extensions
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