chrome.history

refresh date: 2026-09-25 robots: noindex

Beschreibung

Verwenden Sie die chrome.history API, um mit dem Browserverlauf der besuchten Seiten zu interagieren. Sie können URLs im Browserverlauf hinzufügen, entfernen und abfragen. Informationen zum Überschreiben der Verlaufsseite mit Ihrer eigenen Version finden Sie unter Seiten überschreiben.

Berechtigungen

history

Manifest

Sie müssen die Berechtigung „history“ im Erweiterungsmanifest deklarieren, um die History API verwenden zu können. Beispiel:

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

Übergangstypen

Die History API verwendet einen Übergangstyp, um zu beschreiben, wie der Browser bei einem bestimmten Besuch zu einer bestimmten URL navigiert ist. Wenn ein Nutzer beispielsweise eine Seite aufruft, indem er auf einen Link auf einer anderen Seite klickt, ist der Übergangstyp „link“.

In der folgenden Tabelle werden die einzelnen Übergangstypen beschrieben.

ÜbergangstypBeschreibung
"typed"Der Nutzer hat die URL in die Adressleiste eingegeben, um diese Seite aufzurufen. Wird auch für andere explizite Navigationsaktionen verwendet. Siehe auch generated, das verwendet wird, wenn der Nutzer eine Auswahl getroffen hat, die überhaupt nicht wie eine URL aussah.
"auto_bookmark"Der Nutzer ist über einen Vorschlag in der Benutzeroberfläche auf diese Seite gelangt, z. B. über einen Menüpunkt.
"auto_subframe"Subframe-Navigation. Dies sind alle Inhalte, die automatisch in einem Frame geladen werden, der sich nicht auf der obersten Ebene befindet. Wenn eine Seite beispielsweise aus mehreren Frames mit Anzeigen besteht, haben diese Anzeigen-URLs diesen Übergangstyp. Der Nutzer merkt möglicherweise nicht einmal, dass der Inhalt auf diesen Seiten ein separater Frame ist, und interessiert sich daher vielleicht nicht für die URL (siehe auch manual_subframe).
"manual_subframe"Für Subframe-Navigationen, die explizit vom Nutzer angefordert werden und neue Navigationseinträge in der Liste „Zurück/Vorwärts“ generieren. Ein explizit angeforderter Frame ist wahrscheinlich wichtiger als ein automatisch geladener Frame, da der Nutzer wahrscheinlich daran interessiert ist, dass der angeforderte Frame geladen wurde.
"generated"Der Nutzer hat diese Seite aufgerufen, indem er etwas in die Adressleiste eingegeben und einen Eintrag ausgewählt hat, der nicht wie eine URL aussah. Eine Übereinstimmung kann beispielsweise die URL einer Google-Suchergebnisseite haben, aber für den Nutzer als „Google-Suche nach…“ angezeigt werden. Dies ist nicht ganz dasselbe wie eingegebene Navigationen, da der Nutzer die Ziel-URL nicht eingegeben oder gesehen hat. Siehe auch Keyword.
"auto_toplevel"Die Seite wurde in der Befehlszeile angegeben oder ist die Startseite.
"form_submit"Der Nutzer hat Werte in ein Formular eingegeben und es gesendet. In einigen Situationen, z. B. wenn ein Formular ein Skript zum Senden von Inhalten verwendet, führt das Senden eines Formulars nicht zu diesem Übergangstyp.
„reload“Der Nutzer hat die Seite neu geladen, entweder durch Klicken auf die Schaltfläche „Aktualisieren“ oder durch Drücken der Eingabetaste in der Adressleiste. Dieser Übergangstyp wird auch für die Wiederherstellung von Sitzungen und das erneute Öffnen geschlossener Tabs verwendet.
"Keyword"Die URL wurde aus einem ersetzbaren Suchbegriff generiert, der nicht dem Standardsuchanbieter entspricht. Siehe auch keyword_generated.
"keyword_generated"Entspricht einem Besuch, der für ein Keyword generiert wurde. Siehe auch Keyword.

Beispiele

Wenn Sie diese API ausprobieren möchten, installieren Sie das Beispiel für die History API aus dem Repository chrome-extension-samples.

Typen

HistoryItem

Ein Objekt, das ein Ergebnis einer Verlaufsabfrage kapselt.

Attribute

  • id

    String

    Die eindeutige Kennung für den Artikel.

  • lastVisitTime

    number optional

    Wann diese Seite zuletzt geladen wurde, dargestellt in Millisekunden seit der Epoche.

  • Titel

    String optional

    Der Titel der Seite, als sie zuletzt geladen wurde.

  • typedCount

    number optional

    Gibt an, wie oft der Nutzer diese Seite durch Eingabe der Adresse aufgerufen hat.

  • URL

    String optional

    Die URL, die ein Nutzer aufgerufen hat.

  • visitCount

    number optional

    Gibt an, wie oft der Nutzer diese Seite aufgerufen hat.

TransitionType

Chrome 44 oder höher

Der Übergangstyp für diesen Besuch von seinem Referrer.

Enum

"link"
Der Nutzer ist auf diese Seite gelangt, indem er auf einen Link auf einer anderen Seite geklickt hat.

"typed"
Der Nutzer hat die URL in die Adressleiste eingegeben, um diese Seite aufzurufen. Dies wird auch für andere explizite Navigationsaktionen verwendet.

"auto_bookmark"
Der Nutzer ist über einen Vorschlag in der Benutzeroberfläche auf diese Seite gelangt, z. B. über einen Menüpunkt.

"auto_subframe"
Der Nutzer ist über eine Subframe-Navigation, die er nicht angefordert hat, auf diese Seite gelangt, z. B. durch eine Anzeige, die in einem Frame auf der vorherigen Seite geladen wurde. Diese generieren nicht immer neue Navigationseinträge in den Menüs „Zurück“ und „Vorwärts“.

"manual_subframe"
Der Nutzer ist auf diese Seite gelangt, indem er etwas in einem Subframe ausgewählt hat.

"generated"
Der Nutzer ist auf diese Seite gelangt, indem er etwas in die Adressleiste eingegeben und einen Eintrag ausgewählt hat, der nicht wie eine URL aussah, z. B. einen Google-Suchvorschlag. Ein Treffer kann beispielsweise die URL einer Google-Suchergebnisseite haben, dem Nutzer aber als „Google-Suche nach…“ angezeigt werden. Diese unterscheiden sich von eingegebenen Navigationsvorgängen, da der Nutzer die Ziel-URL nicht eingegeben oder gesehen hat. Sie hängen auch mit der Keyword-Navigation zusammen.

"auto_toplevel"
Die Seite wurde in der Befehlszeile angegeben oder ist die Startseite.

"form_submit"
Der Nutzer ist auf diese Seite gelangt, indem er Werte in ein Formular eingegeben und das Formular gesendet hat. Nicht alle Formulareinreichungen verwenden diesen Übergangstyp.

"reload"
Der Nutzer hat die Seite aktualisiert, entweder durch Klicken auf die Schaltfläche „Aktualisieren“ oder durch Drücken der Eingabetaste in der Adressleiste. Dieser Übergangstyp wird auch für die Wiederherstellung von Sitzungen und das erneute Öffnen geschlossener Tabs verwendet.

"keyword"
Die URL für diese Seite wurde aus einem ersetzbaren Keyword generiert, das nicht dem Standardsuchanbieter entspricht.

"keyword_generated"
Entspricht einem Besuch, der für ein Keyword generiert wurde.

UrlDetails

Chrome 88 oder höher

Attribute

  • URL

    String

    Die URL für den Vorgang. Sie muss das Format haben, das von einem Aufruf von history.search() zurückgegeben wird.

VisitItem

Ein Objekt, das einen Besuch einer URL kapselt.

Attribute

  • id

    String

    Die eindeutige Kennung für die entsprechende history.HistoryItem.

  • isLocal

    boolean

    Chrome 115 oder höher

    „True“, wenn der Besuch von diesem Gerät ausging. „False“, wenn sie von einem anderen Gerät synchronisiert wurde.

  • referringVisitId

    String

    Die Besuchs-ID des Referrers.

  • Übergang

    Der Übergangstyp für diesen Besuch von seinem Referrer.

  • visitId

    String

    Die eindeutige Kennung für diesen Besuch.

  • visitTime

    number optional

    Der Zeitpunkt des Besuchs in Millisekunden seit der Epoche.

Methoden

addUrl()

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

Fügt dem Verlauf eine URL zum aktuellen Zeitpunkt mit dem Übergangstyp „link“ hinzu.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

deleteAll()

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

Löscht alle Elemente aus dem Verlauf.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

deleteRange()

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

Entfernt alle Elemente innerhalb des angegebenen Zeitraums aus dem Verlauf. Seiten werden nur dann aus dem Verlauf entfernt, wenn alle Aufrufe in den Zeitraum fallen.

Parameter

  • Angebot

    Objekt

    • endTime

      Zahl

      Elemente, die vor diesem Datum zum Verlauf hinzugefügt wurden, dargestellt in Millisekunden seit der Epoche.

    • startTime

      Zahl

      Elemente, die nach diesem Datum dem Verlauf hinzugefügt wurden, dargestellt in Millisekunden seit der Epoche.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

deleteUrl()

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

Entfernt alle Vorkommen der angegebenen URL aus dem Verlauf.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getVisits()

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

Ruft Informationen zu Besuchen einer URL ab.

Parameter

  • Details
  • callback

    function optional

    Der Parameter callback sieht so aus:

    (results: VisitItem[]) => void

Ausgabe

  • Promise<VisitItem[]>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

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

Sucht im Verlauf nach dem Zeitpunkt des letzten Besuchs jeder Seite, die der Abfrage entspricht.

Parameter

  • Abfrage

    Objekt

    • endTime

      number optional

      Beschränkt die Ergebnisse auf die vor diesem Datum besuchten Seiten, dargestellt in Millisekunden seit der Epoche.

    • maxResults

      number optional

      Die maximale Anzahl der abzurufenden Ergebnisse. Die Standardeinstellung ist 100.

    • startTime

      number optional

      Beschränkt die Ergebnisse auf die nach diesem Datum besuchten Ergebnisse, angegeben in Millisekunden seit der Epoche. Wenn das Attribut nicht angegeben ist, wird standardmäßig 24 Stunden verwendet.

    • Text

      String

      Eine Freitextabfrage an den Verlaufsservice. Lassen Sie dieses Feld leer, um alle Seiten abzurufen.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (results: HistoryItem[]) => void

Ausgabe

  • Promise<HistoryItem[]>

    Chrome 96 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

Ereignisse

onVisited

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

Wird ausgelöst, wenn eine URL besucht wird, und stellt die HistoryItem-Daten für diese URL bereit. Dieses Ereignis wird ausgelöst, bevor die Seite geladen wurde.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (result: HistoryItem) => void

onVisitRemoved

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

Wird ausgelöst, wenn eine oder mehrere URLs aus dem Verlauf entfernt werden. Wenn alle Besuche entfernt wurden, wird die URL aus dem Verlauf gelöscht.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (removed: object) => void

    • entfernt

      Objekt

      • allHistory

        boolean

        Wahr, wenn der gesamte Verlauf entfernt wurde. Wenn „true“, sind die URLs leer.

      • URLs

        string[] optional