chrome.history

refresh date: 2026-09-25 robots: noindex

Description

Utilisez l'API chrome.history pour interagir avec l'enregistrement des pages visitées du navigateur. Vous pouvez ajouter, supprimer et interroger des URL dans l'historique du navigateur. Pour remplacer la page d'historique par votre propre version, consultez Remplacer des pages.

Autorisations

history

Fichier manifeste

Vous devez déclarer l'autorisation "history" dans le fichier manifeste de l'extension pour utiliser l'API History. Exemple :

{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}

Types de transition

L'API History utilise un type de transition pour décrire la façon dont le navigateur a accédé à une URL particulière lors d'une visite spécifique. Par exemple, si un utilisateur accède à une page en cliquant sur un lien sur une autre page, le type de transition est "link".

Le tableau suivant décrit chaque type de transition.

Type de transitionDescription
"typed"L'utilisateur a accédé à cette page en saisissant l'URL dans la barre d'adresse. Également utilisé pour d'autres actions de navigation explicites. Consultez également generated, qui est utilisé lorsque l'utilisateur a sélectionné un choix qui ne ressemblait pas du tout à une URL.
"auto_bookmark"L'utilisateur a accédé à cette page via une suggestion dans l'interface utilisateur (par exemple, via un élément de menu).
"auto_subframe"Navigation dans un sous-frame. Il s'agit de tout contenu chargé automatiquement dans un frame qui n'est pas de niveau supérieur. Par exemple, si une page se compose de plusieurs cadres contenant des annonces, les URL de ces annonces ont ce type de transition. L'utilisateur peut même ne pas se rendre compte que le contenu de ces pages est un frame distinct et ne pas se soucier de l'URL (voir aussi manual_subframe).
"manual_subframe"Pour les navigations de sous-cadre explicitement demandées par l'utilisateur et qui génèrent de nouvelles entrées de navigation dans la liste Précédent/Suivant. Un frame explicitement demandé est probablement plus important qu'un frame chargé automatiquement, car l'utilisateur se soucie probablement du fait que le frame demandé a été chargé.
"generated"L'utilisateur a accédé à cette page en saisissant une entrée dans la barre d'adresse et en sélectionnant une entrée qui ne ressemblait pas à une URL. Par exemple, une correspondance peut avoir l'URL d'une page de résultats de recherche Google, mais elle peut apparaître à l'utilisateur sous la forme "Rechercher sur Google ...". Ces navigations ne sont pas tout à fait identiques aux navigations saisies, car l'utilisateur n'a pas saisi ni vu l'URL de destination. Voir aussi la section Mot clé.
"auto_toplevel"La page a été spécifiée dans la ligne de commande ou est la page de démarrage.
"form_submit"L'utilisateur a rempli les valeurs d'un formulaire et l'a envoyé. Notez que, dans certains cas (par exemple, lorsqu'un formulaire utilise un script pour envoyer du contenu), l'envoi d'un formulaire n'entraîne pas ce type de transition.
"reload"L'utilisateur a actualisé la page, soit en cliquant sur le bouton d'actualisation, soit en appuyant sur Entrée dans la barre d'adresse. La restauration de session et la réouverture d'un onglet fermé utilisent également ce type de transition.
"mot clé"L'URL a été générée à partir d'un mot clé remplaçable autre que le moteur de recherche par défaut. Voir aussi keyword_generated.
"keyword_generated"Correspond à une visite générée pour un mot clé. Voir aussi la section Mot clé.

Exemples

Pour essayer cette API, installez l'exemple d'API History à partir du dépôt chrome-extension-samples.

Types

HistoryItem

Objet encapsulant un résultat d'une requête d'historique.

Propriétés

  • id

    chaîne

    Identifiant unique de l'élément.

  • lastVisitTime

    number facultatif

    Dernier chargement de cette page, représenté en millisecondes depuis l'epoch.

  • titre

    chaîne facultatif

    Titre de la page lors de son dernier chargement.

  • typedCount

    number facultatif

    Nombre de fois où l'utilisateur a accédé à cette page en saisissant l'adresse.

  • url

    chaîne facultatif

    URL à laquelle un utilisateur a accédé.

  • visitCount

    number facultatif

    Nombre de fois où l'utilisateur a accédé à cette page.

TransitionType

Chrome 44 ou version ultérieure

Type de transition pour cette visite depuis son site référent.

Énumération

"link"
L'utilisateur est arrivé sur cette page en cliquant sur un lien d'une autre page.

"typed"
L'utilisateur est arrivé sur cette page en saisissant l'URL dans la barre d'adresse. Cela est également utilisé pour d'autres actions de navigation explicites.

"auto_bookmark"
L'utilisateur est arrivé sur cette page via une suggestion dans l'interface utilisateur, par exemple via un élément de menu.

"auto_subframe"
L'utilisateur est arrivé sur cette page via une navigation dans un sous-frame qu'il n'a pas demandée, par exemple via une annonce se chargeant dans un frame sur la page précédente. Elles ne génèrent pas toujours de nouvelles entrées de navigation dans les menus "Précédent" et "Suivant".

"manual_subframe"
L'utilisateur est arrivé sur cette page en sélectionnant un élément dans un sous-cadre.

"generated"
L'utilisateur est arrivé sur cette page en saisissant du texte dans la barre d'adresse et en sélectionnant une entrée qui ne ressemblait pas à une URL, comme une suggestion de recherche Google. Par exemple, une correspondance peut avoir l'URL d'une page de résultats de recherche Google, mais s'afficher pour l'utilisateur sous la forme "Rechercher sur Google ...". Ces navigations sont différentes des navigations saisies, car l'utilisateur n'a pas saisi ni vu l'URL de destination. Elles sont également liées aux navigations par mot clé.

"auto_toplevel"
La page a été spécifiée dans la ligne de commande ou est la page de démarrage.

"form_submit"
L'utilisateur est arrivé sur cette page en remplissant et en envoyant un formulaire. Tous les envois de formulaires n'utilisent pas ce type de transition.

"reload"
L'utilisateur a actualisé la page, soit en cliquant sur le bouton d'actualisation, soit en appuyant sur Entrée dans la barre d'adresse. La restauration de session et la réouverture d'un onglet fermé utilisent également ce type de transition.

"keyword"
L'URL de cette page a été générée à partir d'un mot clé remplaçable autre que le moteur de recherche par défaut.

"keyword_generated"
Correspond à une visite générée pour un mot clé.

UrlDetails

Chrome 88 ou version ultérieure

Propriétés

  • url

    chaîne

    URL de l'opération. Il doit être au format renvoyé par un appel à history.search().

VisitItem

Objet encapsulant une visite d'une URL.

Propriétés

  • id

    chaîne

    Identifiant unique de l'objet history.HistoryItem correspondant.

  • isLocal

    booléen

    Chrome 115 ou version ultérieure

    "True" si la visite a été effectuée sur cet appareil. "False" si elle a été synchronisée depuis un autre appareil.

  • referringVisitId

    chaîne

    ID de visite de l'URL de provenance.

  • transition

    Type de transition pour cette visite depuis son site référent.

  • visitId

    chaîne

    Identifiant unique de cette visite.

  • visitTime

    number facultatif

    Date et heure de la visite, représentées en millisecondes depuis l'epoch.

Méthodes

addUrl()

Promise
chrome.history.addUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

Ajoute une URL à l'historique à l'heure actuelle avec un type de transition "link".

Paramètres

  • détails
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

deleteAll()

Promise
chrome.history.deleteAll(
  callback?: function,
)
: Promise<void>

Supprime tous les éléments de l'historique.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

deleteRange()

Promise
chrome.history.deleteRange(
  range: object,
  callback?: function,
)
: Promise<void>

Supprime de l'historique tous les éléments compris dans la plage de dates spécifiée. Les pages ne seront pas supprimées de l'historique, sauf si toutes les visites se situent dans la période sélectionnée.

Paramètres

  • niveaux

    objet

    • endTime

      nombre

      Éléments ajoutés à l'historique avant cette date, représentés en millisecondes depuis l'epoch.

    • startTime

      nombre

      Éléments ajoutés à l'historique après cette date, représentés en millisecondes depuis l'epoch.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

deleteUrl()

Promise
chrome.history.deleteUrl(
  details: UrlDetails,
  callback?: function,
)
: Promise<void>

Supprime toutes les occurrences de l'URL donnée de l'historique.

Paramètres

  • détails
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getVisits()

Promise
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)
: Promise<VisitItem[]>

Récupère des informations sur les visites d'une URL.

Paramètres

  • détails
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (results: VisitItem[]) => void

Renvoie

  • Promise<VisitItem[]>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Promise
chrome.history.search(
  query: object,
  callback?: function,
)
: Promise<HistoryItem[]>

Recherche dans l'historique l'heure de la dernière visite de chaque page correspondant à la requête.

Paramètres

  • requête

    objet

    • endTime

      number facultatif

      Limitez les résultats à ceux visités avant cette date, représentée en millisecondes depuis l'epoch.

    • maxResults

      number facultatif

      Nombre maximal de résultats à récupérer. La valeur par défaut est 100.

    • startTime

      number facultatif

      Limitez les résultats à ceux visités après cette date, représentée en millisecondes depuis l'epoch. Si cette propriété n'est pas spécifiée, la valeur par défaut est de 24 heures.

    • texte

      chaîne

      Requête en texte libre adressée au service d'historique. Laissez ce champ vide pour récupérer toutes les pages.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (results: HistoryItem[]) => void

Renvoie

  • Promise<HistoryItem[]>

    Chrome 96 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onVisited

chrome.history.onVisited.addListener(
  callback: function,
)

Déclenché lorsqu'une URL est consultée, fournissant les données HistoryItem pour cette URL. Cet événement se déclenche avant le chargement de la page.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (result: HistoryItem) => void

onVisitRemoved

chrome.history.onVisitRemoved.addListener(
  callback: function,
)

Se déclenche lorsqu'une ou plusieurs URL sont supprimées de l'historique. Lorsque toutes les visites ont été supprimées, l'URL est purgée de l'historique.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (removed: object) => void

    • supprimé

      objet

      • allHistory

        booléen

        "True" si tout l'historique a été supprimé. Si la valeur est "true", les URL seront vides.

      • URL

        string[] facultatif