chrome.browsingData

Beschreibung

Verwenden Sie die chrome.browsingData API, um Browserdaten aus dem lokalen Profil eines Nutzers zu entfernen.

Berechtigungen

browsingData

Manifest

Sie müssen die Berechtigung „browsingData“ im Erweiterungsmanifest deklarieren, um diese API verwenden zu können.

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

Nutzung

Der einfachste Anwendungsfall für diese API ist ein zeitbasierter Mechanismus zum Löschen der Browserdaten eines Nutzers. Ihr Code sollte einen Zeitstempel enthalten, der das Datum angibt, nach dem die Browserdaten des Nutzers entfernt werden sollen. Dieser Zeitstempel wird als Anzahl der Millisekunden seit der Unix-Epoche formatiert. Er kann über die Methode getTime aus einem JavaScript-Date-Objekt abgerufen werden.

Wenn Sie beispielsweise alle Browserdaten eines Nutzers aus der letzten Woche löschen möchten, können Sie folgenden Code schreiben:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
  "since": oneWeekAgo
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Mit der Methode chrome.browsingData.remove können Sie verschiedene Arten von Browserdaten mit einem einzigen Aufruf entfernen. Das ist viel schneller als der Aufruf mehrerer spezifischerer Methoden. Wenn Sie jedoch nur einen bestimmten Typ von Browserdaten löschen möchten (z. B. Cookies), bieten die detaillierteren Methoden eine lesbare Alternative zu einem mit JSON gefüllten Aufruf.

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

Wenn der Nutzer seine Daten synchronisiert, kann chrome.browsingData.remove das Cookie für das Synchronisierungskonto nach dem Löschen automatisch neu erstellen. So soll sichergestellt werden, dass die Synchronisierung weiterhin funktioniert und die Daten schließlich auf dem Server gelöscht werden können. Mit dem spezifischeren chrome.browsingData.removeCookies kann der Cookie für das Synchronisierungskonto jedoch gelöscht werden. In diesem Fall wird die Synchronisierung pausiert.

Bestimmte Ursprünge

Wenn Sie Daten für einen bestimmten Ursprung entfernen oder eine Reihe von Ursprüngen vom Löschen ausschließen möchten, können Sie die Parameter RemovalOptions.origins und RemovalOptions.excludeOrigins verwenden. Sie können nur auf Cookies, Cache und Speicher (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers und WebSQL) angewendet werden.

chrome.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Ursprungstypen

Wenn Sie dem Optionenobjekt der API eine originTypes-Property hinzufügen, können Sie angeben, welche Arten von Ursprüngen betroffen sein sollen. Derzeit werden Ursprünge in drei Kategorien unterteilt:

  • unprotectedWeb deckt den allgemeinen Fall von Websites ab, die Nutzer besuchen, ohne dass sie eine spezielle Aktion ausführen. Wenn Sie keine originTypes angeben, werden standardmäßig Daten aus nicht geschützten Web-Ursprüngen entfernt.
  • protectedWeb umfasst die Webursprünge, die als gehostete Anwendungen installiert wurden. Wenn Sie beispielsweise Angry Birds installieren, wird der Ursprung https://chrome.angrybirds.com geschützt und aus der Kategorie unprotectedWeb entfernt. Sei vorsichtig, wenn du das Löschen von Daten für diese Ursprünge auslöst. Informiere deine Nutzer darüber, was passiert, da ihre Spieldaten unwiderruflich entfernt werden. Niemand möchte kleine Häuser von Schweinen öfter als nötig umwerfen.
  • extension deckt Ursprünge unter dem Schema chrome-extensions: ab. Das Entfernen von Erweiterungsdaten sollte mit großer Vorsicht erfolgen.

Wir können das vorherige Beispiel so anpassen, dass nur Daten von geschützten Websites entfernt werden:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
  "since": oneWeekAgo,
  "originTypes": {
    "protectedWeb": true
  }
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Beispiele

Wenn Sie diese API ausprobieren möchten, installieren Sie das browsingData API-Beispiel aus dem Repository chrome-extension-samples.

Typen

DataTypeSet

Eine Reihe von Datentypen. Fehlende Datentypen werden als false interpretiert.

Attribute

  • appcache

    boolean optional

    App-Caches von Websites.

  • Cache

    boolean optional

    Der Cache des Browsers.

  • cacheStorage

    boolean optional

    Chrome 72 und höher

    Cache-Speicher

  • Cookies

    boolean optional

    Die Cookies des Browsers.

  • downloads

    boolean optional

    Die Downloadliste des Browsers.

  • fileSystems

    boolean optional

    Dateisysteme von Websites.

  • formData

    boolean optional

    Die im Browser gespeicherten Formulardaten.

  • Verlauf

    boolean optional

    Der Browserverlauf.

  • indexedDB

    boolean optional

    IndexedDB-Daten von Websites.

  • localStorage

    boolean optional

    Daten im lokalen Speicher von Websites.

  • Passwörter

    boolean optional

    Gespeicherte Passwörter

  • pluginData

    boolean optional

    Seit Chrome 88 veraltet

    Die Unterstützung für Flash wurde eingestellt. Dieser Datentyp wird ignoriert.

    Daten von Plug-ins.

  • serverBoundCertificates

    boolean optional

    Seit Chrome 76 eingestellt

    Die Unterstützung für servergebundene Zertifikate wurde entfernt. Dieser Datentyp wird ignoriert.

    Servergebundene Zertifikate.

  • serviceWorkers

    boolean optional

    Service Worker

  • webSQL

    boolean optional

    WebSQL-Daten von Websites.

RemovalOptions

Optionen, mit denen Sie genau festlegen können, welche Daten entfernt werden sollen.

Attribute

  • excludeOrigins

    string[] optional

    Chrome 74 und höher

    Wenn vorhanden, werden Daten für Ursprünge in dieser Liste nicht gelöscht. Kann nicht zusammen mit origins verwendet werden. Wird nur für Cookies, Speicher und Cache unterstützt. Cookies werden für die gesamte registrierbare Domain ausgeschlossen.

  • originTypes

    object optional

    Ein Objekt, dessen Eigenschaften angeben, welche Ursprungstypen gelöscht werden sollen. Wenn dieses Objekt nicht angegeben ist, werden standardmäßig nur „ungeschützte“ Ursprünge gelöscht. Bitte vergewissern Sie sich, dass Sie Anwendungsdaten wirklich entfernen möchten, bevor Sie „protectedWeb“ oder „extensions“ hinzufügen.

    • Erweiterung

      boolean optional

      Erweiterungen und gepackte Anwendungen, die ein Nutzer installiert hat (sehr vorsichtig sein!).

    • protectedWeb

      boolean optional

      Websites, die als gehostete Anwendungen installiert wurden (Vorsicht!).

    • unprotectedWeb

      boolean optional

      Normale Websites.

  • Ursprünge

    [string, ...string[]] optional

    Chrome 74 und höher

    Wenn vorhanden, werden nur Daten für Ursprünge in dieser Liste gelöscht. Wird nur für Cookies, Speicher und Cache unterstützt. Cookies werden für die gesamte registrierbare Domain gelöscht.

  • seit

    number optional

    Entfernen Sie Daten, die an oder nach diesem Datum erfasst wurden. Das Datum wird in Millisekunden seit der Epoche angegeben und ist über die Methode getTime des JavaScript-Objekts Date zugänglich. Wenn nicht angegeben, wird standardmäßig „0“ verwendet (wodurch alle Browserdaten entfernt werden).

Methoden

remove()

Promise
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

Löscht verschiedene Arten von Browserdaten, die im Profil eines Nutzers gespeichert sind.

Parameter

  • Optionen
  • dataToRemove

    Die Menge der zu entfernenden Datentypen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeAppcache()

Promise
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Appcache-Daten von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeCache()

Promise
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Damit löschen Sie den Cache des Browsers.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeCacheStorage()

Promise Chrome 72 und höher
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Cache-Speicherdaten von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeCookies()

Promise
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Cookies des Browsers und die servergebundenen Zertifikate, die innerhalb eines bestimmten Zeitrahmens geändert wurden.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeDownloads()

Promise
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Liste der heruntergeladenen Dateien im Browser (nicht die heruntergeladenen Dateien selbst).

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeFileSystems()

Promise
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Dateisystemdaten von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeFormData()

Promise
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die im Browser gespeicherten Formulardaten (automatisches Ausfüllen).

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeHistory()

Promise
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht den Browserverlauf.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeIndexedDB()

Promise
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die IndexedDB-Daten von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeLocalStorage()

Promise
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Daten im lokalen Speicher von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removePasswords()

Promise
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die im Browser gespeicherten Passwörter.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removePluginData()

Promise Seit Chrome 88 veraltet
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Die Unterstützung für Flash wurde eingestellt. Diese Funktion hat keine Auswirkungen.

Löscht die Daten von Plug-ins.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeServiceWorkers()

Promise Chrome 72 und höher
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die Service Worker von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

removeWebSQL()

Promise
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Löscht die WebSQL-Daten von Websites.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 96 und höher

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

settings()

Promise
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

Gibt an, welche Arten von Daten derzeit in der Benutzeroberfläche für die Einstellungen „Browserdaten löschen“ ausgewählt sind. Hinweis: Einige der in dieser API enthaltenen Datentypen sind in der Benutzeroberfläche der Einstellungen nicht verfügbar. Einige Einstellungen der Benutzeroberfläche steuern mehr als einen der hier aufgeführten Datentypen.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: object) => void

    • Ergebnis

      Objekt

      • dataRemovalPermitted

        Alle Typen sind im Ergebnis vorhanden. Die Werte sind true, wenn sie entfernt werden dürfen (z. B. durch eine Unternehmensrichtlinie), und false, wenn nicht.

      • dataToRemove

        Alle Typen sind im Ergebnis vorhanden. Wenn sie sowohl zum Entfernen ausgewählt als auch zum Entfernen zulässig sind, haben sie den Wert true, andernfalls false.

      • Optionen

Ausgabe

  • Promise<object>

    Chrome 96 und höher

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