chrome.browsingData

Beschreibung

Mit der chrome.browsingData API können Sie Browserdaten aus dem lokalen Profil eines Nutzers entfernen.

Berechtigungen

browsingData

Sie müssen die Berechtigung "browsingData" im Erweiterungsmanifest deklarieren, um diese API nutzen zu können.

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

Konzepte und 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 Internetdaten des Nutzers entfernt werden sollen. Dieser Zeitstempel ist als Anzahl der Millisekunden seit der Unix-Epoche formatiert, die mit der Methode getTime() aus einem JavaScript-Date-Objekt abgerufen werden kann.

Wenn Sie beispielsweise alle Browserdaten eines Nutzers 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. Die Methode ist viel schneller als der Aufruf mehrerer spezifischerer Methoden. Wenn Sie jedoch nur eine bestimmte Art von Browserdaten löschen möchten (z. B. Cookies), bieten die detaillierteren Methoden eine lesbare Alternative zu einem mit JSON ausgefü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 Sync-Konto nach dem Löschen automatisch neu erstellen. So wird sichergestellt, dass die Synchronisierung weiter funktioniert und die Daten schließlich auf dem Server gelöscht werden können. Allerdings kann die spezifischere chrome.browsingData.removeCookies() verwendet werden, um das Cookie für das Synchronisierungskonto zu löschen. Die Synchronisierung wird dann pausiert.

Bestimmte Ursprünge

Wenn Sie Daten für einen bestimmten Ursprung entfernen oder eine Gruppe 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 API-Optionsobjekt die Eigenschaft originTypes hinzufügen, können Sie angeben, welche Ursprungstypen betroffen sein sollen. Ursprünge werden in drei Kategorien unterteilt:

  • unprotectedWeb deckt den allgemeinen Fall von Websites ab, die Nutzer ohne besondere Aktion besuchen. Wenn Sie keinen originTypes angeben, entfernt die API standardmäßig Daten aus ungeschützten Webursprüngen.
  • protectedWeb deckt Webursprünge ab, die als gehostete Anwendungen installiert wurden. Durch die Installation von Angry Birds wird beispielsweise der Ursprung https://chrome.angrybirds.com geschützt und aus der Kategorie unprotectedWeb entfernt. Seien Sie vorsichtig, wenn Sie das Löschen von Daten aus diesen Quellen auslösen: Achten Sie darauf, dass Ihre Nutzer wissen, was sie erhalten, da ihre Spieldaten dadurch unwiderruflich gelöscht werden. Niemand will winzige Schweinehäuser öfter umreißen als nötig.
  • extension deckt Ursprünge im Schema chrome-extensions: ab. Auch beim Entfernen von Erweiterungsdaten sollten Sie sehr sorgfältig vorgehen.

Wir könnten 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 testen möchten, installieren Sie das browsingData API-Beispiel aus dem Repository chrome-extension-sample.

Typen

DataTypeSet

Ein Satz von Datentypen. Fehlende Datentypen werden als false interpretiert.

Attribute

  • App-Cache

    Boolescher Wert optional

    App-Caches von Websites

  • Cache

    Boolescher Wert optional

    Der Cache des Browsers.

  • cacheStorage

    Boolescher Wert optional

    Chrome 72 und höher

    Cache-Speicher

  • Cookies

    Boolescher Wert optional

    Die Cookies des Browsers.

  • downloads

    Boolescher Wert optional

    Die Downloadliste des Browsers.

  • fileSystems

    Boolescher Wert optional

    Dateisysteme von Websites

  • formData

    Boolescher Wert optional

    Die im Browser gespeicherten Formulardaten.

  • Verlauf

    Boolescher Wert optional

    Browserverlauf

  • indexedDB

    Boolescher Wert optional

    IndexedDB-Daten von Websites

  • localStorage

    Boolescher Wert optional

    Lokale Speicherdaten von Websites

  • Passwörter

    Boolescher Wert optional

    Gespeicherte Passwörter

  • pluginData

    Boolescher Wert optional

    Seit Chrome 88 eingestellt

    Flash wird nicht mehr unterstützt. Dieser Datentyp wird ignoriert.

    Daten der Plug-ins.

  • serverBoundCertificates

    Boolescher Wert optional

    Seit Chrome 76 eingestellt

    Servergebundene Zertifikate werden nicht mehr unterstützt. Dieser Datentyp wird ignoriert.

    Servergebundene Zertifikate.

  • serviceWorkers

    Boolescher Wert optional

    Service Workers

  • webSQL

    Boolescher Wert optional

    WebSQL-Daten von Websites

RemovalOptions

Optionen, mit denen genau festgelegt wird, welche Daten entfernt werden

Attribute

  • excludeOrigins

    string[] optional

    Chrome 74 und höher

    Sofern vorhanden, werden Daten für Ursprünge in dieser Liste vom Löschen ausgeschlossen. 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

    Objekt optional

    Ein Objekt, dessen Eigenschaften angeben, welche Ursprungstypen gelöscht werden sollen. Wenn dieses Objekt nicht angegeben ist, werden standardmäßig nur „nicht geschützte“ Ursprünge gelöscht. Vergewissern Sie sich, dass Sie die App-Daten wirklich entfernen möchten, bevor Sie "protectionWeb" oder "extensions" hinzufügen.

    • Erweiterung

      Boolescher Wert optional

      Erweiterungen und gepackte Anwendungen, die ein Nutzer installiert hat – seien Sie _really_ vorsichtig!

    • protectedWeb

      Boolescher Wert optional

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

    • unprotectedWeb

      Boolescher Wert optional

      Normale Websites

  • Ursprünge

    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

    Nummer optional

    Entfernen Sie Daten, die an oder nach diesem Datum angesammelt wurden, dargestellt in Millisekunden seit der Epoche (zugänglich über die getTime-Methode des JavaScript-Date-Objekts). Falls nichts angegeben, wird der Standardwert 0 verwendet, wodurch alle Browserdaten gelöscht werden.

Methoden

remove()

Versprechen
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

Löscht verschiedene Arten von Browserdaten, die in einem Nutzerprofil gespeichert sind.

Parameters

  • Optionen
  • dataToRemove

    Die zu entfernenden Datentypen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeAppcache()

Versprechen
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

Löscht die App-Cache-Daten von Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeCache()

Versprechen
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Löscht den Browser-Cache.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeCacheStorage()

Versprechen Chrome 72 oder höher
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Löscht die Daten im Cache von Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeCookies()

Versprechen
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeDownloads()

Versprechen
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeFileSystems()

Versprechen
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

Löscht die Dateisystemdaten von Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeFormData()

Versprechen
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

Löscht die im Browser gespeicherten Formulardaten (Autofill).

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeHistory()

Versprechen
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Löscht den Browserverlauf.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeIndexedDB()

Versprechen
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Löscht die indexierten Daten der Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeLocalStorage()

Versprechen
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Löscht die lokalen Speicherdaten von Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removePasswords()

Versprechen
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Löscht die im Browser gespeicherten Passwörter.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removePluginData()

Promise Seit Chrome 88 eingestellt
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Flash wird nicht mehr unterstützt. Diese Funktion hat keine Auswirkungen.

Löscht die Plug-in-Daten.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeServiceWorkers()

Versprechen Chrome 72 oder höher
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Löscht die Service Worker der Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

removeWebSQL()

Versprechen
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Löscht die WebSQL-Daten von Websites.

Parameters

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

settings()

Versprechen
chrome.browsingData.settings(
  callback?: function,
)

Gibt an, welche Datentypen derzeit in der Benutzeroberfläche mit den Einstellungen „Browserdaten löschen“ ausgewählt sind. Hinweis: Einige der in dieser API enthaltenen Datentypen sind in der Benutzeroberfläche für Einstellungen nicht verfügbar, und einige UI-Einstellungen steuern mehr als einen hier aufgeführten Datentyp.

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: object)=>void

    • Ergebnis

      Objekt

      • dataRemovalPermitted

        Alle Typen sind im Ergebnis vorhanden, mit den Werten true, wenn sie entfernt werden dürfen (z.B. aufgrund einer Unternehmensrichtlinie), und false, wenn nicht.

      • dataToRemove

        Alle Typen sind im Ergebnis vorhanden und haben den Wert true, wenn beide zum Entfernen ausgewählt wurden und entfernt werden dürfen, andernfalls false.

      • Optionen

Rückgaben

  • Promise<object>

    Chrome 96 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.