Beschreibung
Verwenden Sie die chrome.browsingData API, um Browserdaten aus dem lokalen Profil eines Nutzers zu entfernen.
Berechtigungen
browsingDataSie müssen die Berechtigung "browsingData" im Erweiterungsmanifest deklarieren, um diese API zu verwenden.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Konzepte und Verwendung
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 aus einem JavaScript-Date-Objekt mit der Methode getTime() 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 jedoch der Cookie für das Synchronisierungskonto 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 API-Optionenobjekt ein originTypes-Attribut hinzufügen, können Sie angeben, welche Arten von Ursprüngen betroffen sein sollen. Die Herkunft wird in drei Kategorien unterteilt:
unprotectedWebdeckt den allgemeinen Fall von Websites ab, die Nutzer besuchen, ohne dass sie eine spezielle Aktion ausführen. Wenn Sie keineoriginTypesangeben, werden standardmäßig Daten aus nicht geschützten Web-Origins entfernt.protectedWebumfasst die Webursprünge, die als gehostete Anwendungen installiert wurden. Wenn Sie beispielsweise Angry Birds installieren, wird der Ursprunghttps://chrome.angrybirds.comgeschützt und aus der KategorieunprotectedWebentfernt. Sei vorsichtig, wenn du das Löschen von Daten für diese Ursprünge auslöst. Informiere deine Nutzer darüber, dass ihre Spieldaten dadurch unwiderruflich entfernt werden. Niemand möchte kleine Häuser von Schweinen öfter als nötig umwerfen.extensiondeckt Ursprünge unter demchrome-extensions:-Schema 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
Boolesch optional
App-Caches von Websites.
-
Cache
Boolesch optional
Der Cache des Browsers.
-
cacheStorage
Boolesch optional
Chrome 72 und höherCache-Speicher
-
Cookies
Boolesch optional
Die Cookies des Browsers.
-
downloads
Boolesch optional
Die Downloadliste des Browsers.
-
fileSystems
Boolesch optional
Dateisysteme von Websites.
-
formData
Boolesch optional
Die im Browser gespeicherten Formulardaten.
-
Verlauf
Boolesch optional
Der Browserverlauf.
-
indexedDB
Boolesch optional
IndexedDB-Daten von Websites.
-
localStorage
Boolesch optional
Daten im lokalen Speicher von Websites.
-
Passwörter
Boolesch optional
EingestelltDie Unterstützung für das Löschen von Passwörtern über Erweiterungen wurde entfernt. Dieser Datentyp wird ignoriert.
Gespeicherte Passwörter.
-
pluginData
Boolesch optional
Seit Chrome 88 veraltetDie Unterstützung für Flash wurde eingestellt. Dieser Datentyp wird ignoriert.
Daten von Plug-ins.
-
serverBoundCertificates
Boolesch optional
Seit Chrome 76 eingestelltDie Unterstützung für servergebundene Zertifikate wurde entfernt. Dieser Datentyp wird ignoriert.
Servergebundene Zertifikate.
-
serviceWorkers
Boolesch optional
Service Worker.
-
webSQL
Boolesch 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öherWenn sie vorhanden ist, werden Daten für Ursprünge in dieser Liste nicht gelöscht. Kann nicht zusammen mit
originsverwendet 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
Boolesch optional
Erweiterungen und gepackte Anwendungen, die ein Nutzer installiert hat (sehr vorsichtig sein!).
-
protectedWeb
Boolesch optional
Websites, die als gehostete Anwendungen installiert wurden (Vorsicht!).
-
unprotectedWeb
Boolesch optional
Normale Websites.
-
-
Ursprünge
[string, ...string[]] optional
Chrome 74 und höherWenn sie vorhanden ist, 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
getTimedes JavaScript-ObjektsDateverfügbar. Wenn nicht angegeben, wird standardmäßig „0“ verwendet (wodurch alle Browserdaten entfernt werden).
Methoden
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
Löscht verschiedene Arten von Browserdaten, die im Profil eines Nutzers gespeichert sind.
Parameter
-
Optionen
-
dataToRemove
Die zu entfernenden Datentypen.
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Löscht die Appcache-Daten von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Damit löschen Sie den Cache des Browsers.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Löscht die Cache-Speicherdaten von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Löscht die Cookies des Browsers und die servergebundenen Zertifikate, die innerhalb eines bestimmten Zeitrahmens geändert wurden.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
Löscht die Liste der heruntergeladenen Dateien im Browser (nicht die heruntergeladenen Dateien selbst).
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Löscht die Dateisystemdaten von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Löscht die im Browser gespeicherten Formulardaten (AutoFill).
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Löscht den Browserverlauf.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Löscht die IndexedDB-Daten von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Löscht die Daten im lokalen Speicher von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Die Unterstützung für das Löschen von Passwörtern über Erweiterungen wurde entfernt. Diese Funktion hat keine Auswirkungen.
Löscht die im Browser gespeicherten Passwörter.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Die Unterstützung für Flash wurde eingestellt. Diese Funktion hat keine Auswirkungen.
Löscht die Daten von Plugins.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Löscht die Service Worker von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Löscht die WebSQL-Daten von Websites.
Parameter
-
Optionen
Ausgabe
-
Promise<void>
Chrome 96 und höher
settings()
chrome.browsingData.settings(): Promise<object>
Berichte, 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.
Ausgabe
-
Promise<object>
Chrome 96 und höher