Beschrijving
Gebruik de chrome.browsingData
API om browsegegevens uit het lokale profiel van een gebruiker te verwijderen.
Machtigingen
browsingData
U moet de machtiging "browsingData"
in het extensiemanifest declareren om deze API te gebruiken.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Begrippen en gebruik
De eenvoudigste use-case voor deze API is een tijdgebaseerd mechanisme voor het wissen van de browsegegevens van een gebruiker. Uw code moet een tijdstempel bevatten die de historische datum aangeeft waarna de browsegegevens van de gebruiker moeten worden verwijderd. Deze tijdstempel wordt geformatteerd als het aantal milliseconden sinds het Unix-tijdperk (dat kan worden opgehaald uit een JavaScript Date
object met behulp van de getTime()
-methode).
Als u bijvoorbeeld alle browsegegevens van een gebruiker van de afgelopen week wilt wissen, kunt u de volgende code schrijven:
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);
Met de methode chrome.browsingData.remove()
kunt u verschillende soorten browsegegevens met één aanroep verwijderen. Dit is veel sneller dan het aanroepen van meerdere, meer specifieke methoden. Als u echter slechts één specifiek type browsegegevens wilt wissen (bijvoorbeeld cookies), bieden de meer gedetailleerde methoden een leesbaar alternatief voor een aanroep met JSON.
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);
Als de gebruiker zijn gegevens synchroniseert, kan chrome.browsingData.remove()
de cookie voor het Sync-account automatisch opnieuw opbouwen nadat deze is gewist. Dit is om ervoor te zorgen dat Sync kan blijven werken, zodat de gegevens uiteindelijk van de server kunnen worden verwijderd. De meer specifieke optie chrome.browsingData.removeCookies()
kan echter worden gebruikt om de cookie voor het Sync-account te wissen, waardoor Sync in dat geval wordt gepauzeerd.
Specifieke oorsprongen
Om gegevens voor een specifieke oorsprong te verwijderen of een set oorsprongen uit te sluiten van verwijdering, kunt u de parameters RemovalOptions.origins
en RemovalOptions.excludeOrigins
gebruiken. Deze kunnen alleen worden toegepast op cookies, cache en opslag (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers en WebSQL).
chrome.browsingData.remove({
"origins": ["https://www.example.com"]
}, {
"cacheStorage": true,
"cookies": true,
"fileSystems": true,
"indexedDB": true,
"localStorage": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
Oorsprongstypen
Door een originTypes
eigenschap toe te voegen aan het API-optiesobject, kunt u specificeren welke typen oorsprongen moeten worden beïnvloed. Oorsprongen worden onderverdeeld in drie categorieën:
-
unprotectedWeb
is van toepassing op websites die gebruikers bezoeken zonder speciale actie te ondernemen. Als u geenoriginTypes
opgeeft, verwijdert de API standaard gegevens van onbeschermde webbronnen. -
protectedWeb
dekt de webbronnen die als gehoste applicaties zijn geïnstalleerd. Het installeren van Angry Birds beschermt bijvoorbeeld de bronhttps://chrome.angrybirds.com
en verwijdert deze uit de categorieunprotectedWeb
. Wees voorzichtig bij het verwijderen van gegevens voor deze bronnen: zorg ervoor dat uw gebruikers weten wat ze krijgen, want hiermee worden hun gamegegevens onherroepelijk verwijderd. Niemand wil vaker dan nodig kleine varkenshokjes omverwerpen. -
extension
behandelt oorsprongen onder hetchrome-extensions:
schema. Het verwijderen van extensiegegevens is wederom iets waar je heel voorzichtig mee moet zijn.
We kunnen het vorige voorbeeld aanpassen om alleen gegevens van beveiligde websites te verwijderen, als volgt:
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);
Voorbeelden
Om deze API uit te proberen, installeert u het API-voorbeeld browseData uit de chrome-extension-samples- repository.
Typen
DataTypeSet
Een set gegevenstypen. Ontbrekende gegevenstypen worden geïnterpreteerd als false
.
Eigenschappen
- appcache
boolean optioneel
Appcaches van websites.
- cache
boolean optioneel
De cache van de browser.
- cacheStorage
boolean optioneel
Chroom 72+Cache-opslag
- koekjes
boolean optioneel
De cookies van de browser.
- downloaden
boolean optioneel
De downloadlijst van de browser.
- bestandssystemen
boolean optioneel
Bestandssystemen van websites.
- formuliergegevens
boolean optioneel
De opgeslagen formuliergegevens van de browser.
- geschiedenis
boolean optioneel
De geschiedenis van de browser.
- geïndexeerdeDB
boolean optioneel
Geïndexeerde DB-gegevens van websites.
- lokale opslag
boolean optioneel
Lokale opslaggegevens van websites.
- wachtwoorden
boolean optioneel
Opgeslagen wachtwoorden.
- pluginData
boolean optioneel
Verouderd sinds Chrome 88Ondersteuning voor Flash is verwijderd. Dit gegevenstype wordt genegeerd.
Gegevens van plug-ins.
- serverBoundCertificates
boolean optioneel
Verouderd sinds Chrome 76Ondersteuning voor servergebonden certificaten is verwijderd. Dit gegevenstype wordt genegeerd.
Servergebonden certificaten.
- serviceWerknemers
boolean optioneel
Dienstverleners.
- webSQL
boolean optioneel
WebSQL-gegevens van websites.
RemovalOptions
Opties die precies bepalen welke gegevens worden verwijderd.
Eigenschappen
- uitsluitenOrigins
string[] optioneel
Chroom 74+Indien aanwezig, worden gegevens voor oorsprongen in deze lijst uitgesloten van verwijdering. Kan niet samen met
origins
worden gebruikt. Alleen ondersteund voor cookies, opslag en cache. Cookies worden uitgesloten voor het gehele registreerbare domein. - oorsprongTypes
object optioneel
Een object waarvan de eigenschappen aangeven welke oorsprongstypen moeten worden gewist. Als dit object niet is gespecificeerd, worden standaard alleen 'onbeschermde' oorsprongen gewist. Controleer of u de applicatiegegevens daadwerkelijk wilt verwijderen voordat u 'protectedWeb' of 'extensions' toevoegt.
- verlenging
boolean optioneel
Uitbreidingen en pakkettoepassingen die een gebruiker heeft geïnstalleerd (wees _heel_ voorzichtig!).
- beschermdeWeb
boolean optioneel
Websites die als gehoste applicaties zijn geïnstalleerd (pas op!).
- onbeschermdeWeb
boolean optioneel
Normale websites.
- oorsprong
[string, ...string[]] optioneel
Chroom 74+Indien aanwezig, worden alleen gegevens voor de oorsprongen in deze lijst verwijderd. Alleen ondersteund voor cookies, opslag en cache. Cookies worden gewist voor het gehele registreerbare domein.
- sinds
nummer optioneel
Verwijder gegevens die op of na deze datum zijn verzameld, weergegeven in milliseconden sinds het tijdperk (toegankelijk via de
getTime
methode van het JavaScriptDate
object). Indien afwezig, wordt de standaardwaarde 0 gebruikt (waarmee alle browsegegevens worden verwijderd).
Methoden
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
Wist verschillende soorten browsegegevens die zijn opgeslagen in het profiel van een gebruiker.
Parameters
- opties
- gegevensTeVerwijderen
De set gegevenstypen die moeten worden verwijderd.
Retourneren
Belofte<leegte>
Chroom 96+
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Wist de appcachegegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Wist de cache van de browser.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Wist de cachegegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Verwijdert de cookies van de browser en servergebonden certificaten die binnen een bepaald tijdsbestek zijn gewijzigd.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
Wist de lijst met gedownloade bestanden van de browser ( niet de gedownloade bestanden zelf).
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Wist de bestandssysteemgegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Wist de opgeslagen formuliergegevens van de browser (automatisch invullen).
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Wist de geschiedenis van de browser.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Wist de IndexedDB-gegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Wist de lokale opslaggegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Wist de opgeslagen wachtwoorden van de browser.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Ondersteuning voor Flash is verwijderd. Deze functie heeft geen effect.
Wist de gegevens van plug-ins.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Verwijdert de serviceworkers van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Wist de WebSQL-gegevens van websites.
Parameters
- opties
Retourneren
Belofte<leegte>
Chroom 96+
settings()
chrome.browsingData.settings(): Promise<object>
Geeft aan welke gegevenstypen momenteel zijn geselecteerd in de instellingen van de gebruikersinterface 'Browsegegevens wissen'. Opmerking: sommige gegevenstypen in deze API zijn niet beschikbaar in de instellingen van de gebruikersinterface, en sommige gebruikersinterface-instellingen beheren meer dan één hier vermeld gegevenstype.
Retourneren
Belofte<object>
Chroom 96+