Beschreibung
Mit der chrome.browsingData
API können Sie Browserdaten aus dem lokalen Profil eines Nutzers entfernen.
Berechtigungen
browsingData
Manifest
Sie müssen die Berechtigung „browsingData“ im Erweiterungsmanifest deklarieren, 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 Datum angibt, nach dem die Internetdaten des Nutzers entfernt werden sollen. Dieser Zeitstempel ist als Anzahl der Millisekunden seit der Unix-Epoche formatiert, die über die 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 Optionsobjekt der API die Eigenschaft originTypes
hinzufügen, können Sie angeben, welche Ursprünge betroffen sein sollen. Derzeit werden Ursprünge in drei Kategorien unterteilt:
unprotectedWeb
deckt den allgemeinen Fall von Websites ab, die Nutzer ohne besondere Aktion besuchen. Wenn Sie keinenoriginTypes
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 Ursprunghttps://chrome.angrybirds.com
geschützt und aus der KategorieunprotectedWeb
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 Schemachrome-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öherCache-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 eingestelltFlash wird nicht mehr unterstützt. Dieser Datentyp wird ignoriert.
Daten der Plug-ins.
-
serverBoundCertificates
Boolescher Wert optional
Seit Chrome 76 eingestelltServergebundene 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öherSofern 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öherWenn 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()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeAppcache()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeCache()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeCacheStorage()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeCookies()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeDownloads()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeFileSystems()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeFormData()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeHistory()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeIndexedDB()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeLocalStorage()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removePasswords()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removePluginData()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeServiceWorkers()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
removeWebSQL()
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öherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
settings()
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), undfalse
, 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, andernfallsfalse
. -
Optionen
-
-
Rückgaben
-
Promise<object>
Chrome 96 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.