chrome.browsingData

Beschreibung

Mit der chrome.browsingData API kannst du Browserdaten aus dem lokalen Profil eines Nutzers entfernen.

Berechtigungen

browsingData

Manifest

Sie müssen „browsingData“ deklarieren im Erweiterungsmanifest, um diese API zu verwenden.

{
  "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 vergangene Datum angibt, nach dem die Aktivität des Nutzers Browserdaten entfernt werden sollten. Dieser Zeitstempel ist als Anzahl der Millisekunden seit dem Unix-Epoche (kann mit der Methode getTime aus einem JavaScript-Date-Objekt abgerufen werden).

Um beispielsweise alle Browserdaten eines Nutzers der letzten Woche zu löschen, können Sie Code wie folgt schreiben: folgt:

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 und ist viel schneller als das Aufrufen mehrerer spezifischerer Methoden. Wenn Sie jedoch nur einen bestimmten Typ von Browserdaten löschen möchten, z. B. Cookies, -Methoden bieten eine lesbare Alternative zu einem Aufruf mit JSON-Code.

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, erstellt chrome.browsingData.remove das Cookie möglicherweise automatisch neu für das Synchronisierungskonto. Nur so kann die Synchronisierung weiterhin funktionieren, können die Daten auf dem Server gelöscht werden. Je spezifischer die chrome.browsingData.removeCookies kann verwendet werden, um das Cookie für das Synchronisierungskonto zu löschen, und die Synchronisierung in diesem Fall pausiert.

Bestimmte Ursprünge

Um Daten für einen bestimmten Ursprung zu entfernen oder eine Gruppe von Ursprüngen vom Löschen auszuschließen, können Sie die RemovalOptions.origins- und RemovalOptions.excludeOrigins-Parameter. Sie können nur auf Cookies, Cache und Speicher (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers und WebSQL).

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

Ursprungstypen

Durch Hinzufügen der Eigenschaft originTypes zum Optionsobjekt der API können Sie angeben, welche Arten von Ursprüngen getroffen werden müssen. Derzeit werden die Ursprünge in drei Kategorien unterteilt:

  • unprotectedWeb deckt den allgemeinen Fall von Websites ab, die Nutzer ohne besondere Aktion ausführen. Wenn Sie keine originTypes angeben, entfernt die API standardmäßig Daten aus ungeschützten Webursprüngen.
  • protectedWeb deckt die 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. wird es aus der Kategorie unprotectedWeb entfernt. Gehen Sie vorsichtig vor, wenn Sie das Löschen von Daten für diese Ursprünge: Stellen Sie sicher, dass Ihre Nutzer wissen, was sie erwarten, da dies unwiderruflich ihre Spieldaten zu entfernen. Niemand will winzige Schweinehäuser öfter als nötig umwerfen.
  • extension deckt Ursprünge im Schema chrome-extensions: ab. Das Entfernen von Erweiterungsdaten solltet ihr unbedingt sehr vorsichtig sein.

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

Um diese API auszuprobieren, installieren Sie das browsingData API-Beispiel aus den chrome-extension-samples zu erstellen.

Typen

DataTypeSet

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

Attribute

  • App-Cache

    Boolescher Wert optional

    Websites appcaches.

  • Cache

    Boolescher Wert optional

    Im 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

    Websites Dateisysteme.

  • formData

    Boolescher Wert optional

    Die im Browser gespeicherten Formulardaten.

  • Verlauf

    Boolescher Wert optional

    Der Verlauf des Browsers

  • indexedDB

    Boolescher Wert optional

    Websites IndexedDB-Daten.

  • localStorage

    Boolescher Wert optional

    Websites im lokalen Speicher.

  • Passwörter

    Boolescher Wert optional

    Gespeicherte Passwörter.

  • pluginData

    Boolescher Wert optional

    <ph type="x-smartling-placeholder"></ph> Seit Chrome 88 verworfen

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

    Plug-ins Daten.

  • serverBoundCertificates

    Boolescher Wert optional

    <ph type="x-smartling-placeholder"></ph> Seit Chrome 76 verworfen

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

    Servergebundene Zertifikate.

  • serviceWorkers

    Boolescher Wert optional

    Service Worker.

  • webSQL

    Boolescher Wert optional

    Websites WebSQL-Daten.

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 registrierfähige Domain ausgeschlossen.

  • originTypes

    Objekt optional

    Ein Objekt, dessen Eigenschaften angeben, welche Ursprungstypen gelöscht werden sollen. Wenn dieses Objekt nicht angegeben ist, wird standardmäßig nur „ungeschützt“ gelöscht Ursprüngen. Prüfen Sie, ob Sie Anwendungsdaten wirklich entfernen möchten, bevor Sie „ProtectedWeb“ hinzufügen. oder „Erweiterungen“.

    • Erweiterung

      Boolescher Wert optional

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

    • protectedWeb

      Boolescher Wert optional

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

    • unprotectedWeb

      Boolescher Wert optional

      Normale Websites.

  • Ursprünge

    [string, ...string[]] optional

    Chrome 74 und höher

    Falls 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 registrierfähige Domain gelöscht.

  • seit

    Zahl optional

    Entferne Daten, die an oder nach diesem Datum gesammelt wurden, angegeben in Millisekunden seit der Epoche (aufrufbar über die getTime-Methode des JavaScript-Date-Objekts). Wenn nicht vorhanden, wird standardmäßig 0 verwendet, wodurch alle Browserdaten gelöscht werden.

Methoden

remove()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

Parameter

  • Optionen
  • dataToRemove

    Die zu entfernenden Datentypen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeAppcache()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

Löscht die appcache-Daten.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeCache()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Löscht den Cache des Browsers.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeCacheStorage()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 72 und höher
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Löscht die im Cache gespeichert werden.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeCookies()

<ph type="x-smartling-placeholder"></ph> 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.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeDownloads()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeFileSystems()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

Löscht die Daten aus dem Dateisystem.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeFormData()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeHistory()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Löscht den Browserverlauf.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeIndexedDB()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Löscht die IndexedDB-Daten.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeLocalStorage()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Löscht die im lokalen Speicher.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removePasswords()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Löscht die im Browser gespeicherten Passwörter.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removePluginData()

<ph type="x-smartling-placeholder"></ph> Versprechen Seit Chrome 88 eingestellt
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

Löscht Plug-ins Daten.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeServiceWorkers()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 72 und höher
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Löscht die Service Workers.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

removeWebSQL()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Löscht die WebSQL-Daten.

Parameter

  • Optionen
  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 96 und höher

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

settings()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.browsingData.settings(
  callback?: function,
)

Gibt an, welche Datentypen derzeit unter "Browserdaten löschen" ausgewählt sind Einstellungen. Hinweis: Einige der in dieser API enthaltenen Datentypen sind in der Benutzeroberfläche für Einstellungen nicht verfügbar und mit einigen UI-Einstellungen werden mehr als einen der hier aufgeführten Datentypen gesteuert.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (result: object) => void

    • Ergebnis

      Objekt

      • dataRemovalPermitted

        Alle Typen sind im Ergebnis enthalten, mit dem Wert true, wenn sie entfernt werden dürfen (z.B. gemäß einer Unternehmensrichtlinie), und false, wenn nicht.

      • dataToRemove

        Alle Typen sind im Ergebnis enthalten, mit dem Wert true, wenn beide zum Entfernen ausgewählt sind und entfernt werden dürfen, andernfalls false.

      • Optionen

Gibt Folgendes zurück:

  • Promise&lt;object&gt;

    Chrome 96 und höher

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