browser.browsingData

Beschrijving

Gebruik de chrome.browsingData API om browsegegevens te verwijderen uit het lokale profiel van een gebruiker.

Rechten

browsingData

Je moet het recht "browsingData" definiëren in het extensiemanifest om deze API te gebruiken.

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

Concepten en gebruik

De eenvoudigste use case voor deze API is een op tijd gebaseerd mechanisme om de browsegegevens van een gebruiker te wissen. Je code moet een tijdstempel bevatten die de historische datum aangeeft waarna de browsegegevens van de gebruiker moeten worden verwijderd. Dit tijdstempel is opgemaakt als het aantal milliseconden sinds het Unix-tijdvak (dat kan worden opgehaald uit een JavaScript-Date-object met de methode getTime()).

Als je bijvoorbeeld alle browsegegevens van een gebruiker van de afgelopen week wilt wissen, kun je 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;
browser.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 browser.browsingData.remove() kun je verschillende typen browsegegevens verwijderen met één aanroep. Dit is veel sneller dan meerdere specifiekere methoden aanroepen. Als je echter maar één specifiek type browsegegevens wilt wissen (bijvoorbeeld cookies), bieden de meer gedetailleerde methoden een leesbaar alternatief voor een aanroep vol 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;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

Als de gebruiker de gegevens synchroniseert, kan browser.browsingData.remove() de cookie voor het synchronisatieaccount automatisch opnieuw opbouwen nadat deze is gewist. Zo zorgen we dat Synchronisatie blijft werken, zodat de gegevens uiteindelijk van de server kunnen worden verwijderd. De specifiekere browser.browsingData.removeCookies() kan wel worden gebruikt om de cookie voor het synchronisatieaccount te wissen. In dit geval wordt de synchronisatie onderbroken.

Specifieke oorsprongen

Als je gegevens voor een specifieke oorsprong wilt verwijderen of een reeks oorsprongen wilt uitsluiten van verwijdering, kun je de parameters RemovalOptions.origins en RemovalOptions.excludeOrigins gebruiken. Ze kunnen alleen worden toegepast op cookies, cache en opslag (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers en WebSQL).

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

Oorsprongstypen

Als je een originTypes-property toevoegt aan het object met API-opties, kun je aangeven op welke typen oorsprongen dit van invloed moet zijn. Oorsprongen zijn onderverdeeld in 3 categorieën:

  • unprotectedWeb behandelt het algemene geval van websites die gebruikers bezoeken zonder speciale actie te ondernemen. Als je geen originTypes invoert, verwijdert de API standaard gegevens uit onbeveiligde web-oorsprongen.
  • protectedWeb omvat de web-oorsprongen die zijn geïnstalleerd als gehoste apps. Als je bijvoorbeeld Angry Birds installeert, wordt de oorsprong https://chrome.angrybirds.com beschermd en verwijderd uit de categorie unprotectedWeb. Wees voorzichtig als je de verwijdering van gegevens voor deze oorsprongen activeert. Zorg dat je gebruikers weten wat ze krijgen, omdat hun gamegegevens onherroepelijk worden verwijderd. Niemand wil vaker dan nodig kleine varkenshuisjes omverwerpen.
  • extension dekt oorsprongen onder het chrome-extensions:-schema. Wees ook heel voorzichtig met het verwijderen van extensiegegevens.

We kunnen het vorige voorbeeld als volgt aanpassen om alleen gegevens van beveiligde websites te verwijderen:

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;
browser.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

Als je deze API wilt proberen, installeer je het voorbeeld van de browsingData API uit de repository chrome-extension-samples.

Typen

DataTypeSet

Een set gegevenstypen. Ontbrekende gegevenstypen worden geïnterpreteerd als false.

Eigenschappen

  • appcache

    booleaans optioneel

    Beëindigd sinds Chrome 152

    Ondersteuning voor appcache is verwijderd. Dit gegevenstype wordt genegeerd.

    Appcaches van websites.

  • cachegeheugen

    booleaans optioneel

    Het cachegeheugen van de browser.

  • cacheStorage

    booleaans optioneel

    Chrome 72+ -browser.* sinds Chrome 148

    Cache-opslag

  • cookies

    booleaans optioneel

    De cookies van de browser.

  • downloads

    booleaans optioneel

    De downloadlijst van de browser.

  • fileSystems

    booleaans optioneel

    Bestandssystemen van websites.

  • formData

    booleaans optioneel

    De opgeslagen formuliergegevens van de browser.

  • geschiedenis

    booleaans optioneel

    De geschiedenis van de browser.

  • indexedDB

    booleaans optioneel

    IndexedDB-gegevens van websites.

  • localStorage

    booleaans optioneel

    Gegevens over lokale opslag van websites.

  • wachtwoorden

    booleaans optioneel

    Beëindigd sinds Chrome 144

    Ondersteuning voor het verwijderen van wachtwoorden via extensies is verwijderd. Dit gegevenstype wordt genegeerd.

    Opgeslagen wachtwoorden.

  • pluginData

    booleaans optioneel

    Beëindigd sinds Chrome 88

    Ondersteuning voor Flash is verwijderd. Dit gegevenstype wordt genegeerd.

    Gegevens van plug-ins.

  • serverBoundCertificates

    booleaans optioneel

    Beëindigd sinds Chrome 76

    Ondersteuning voor servergebonden certificaten is verwijderd. Dit gegevenstype wordt genegeerd.

    Aan de server gebonden certificaten.

  • serviceWorkers

    booleaans optioneel

    Service workers.

  • webSQL

    booleaans optioneel

    Beëindigd sinds Chrome 152

    Ondersteuning voor WebSQL is verwijderd. Dit gegevenstype wordt genegeerd.

    WebSQL-gegevens van websites.

RemovalOptions

Opties die bepalen welke gegevens precies worden verwijderd.

Eigenschappen

  • excludeOrigins

    string[] optioneel

    Chrome 74 of hoger browser.* sinds Chrome 148

    Als deze optie aanwezig is, worden gegevens voor oorsprongen in deze lijst niet verwijderd. Kan niet samen met origins worden gebruikt. Alleen ondersteund voor cookies, opslag en cache. Cookies worden uitgesloten voor het hele registreerbare domein.

  • originTypes

    object optioneel

    Een object waarvan de eigenschappen aangeven welke oorsprongstypen moeten worden gewist. Als dit object niet is gespecificeerd, worden standaard alleen onbeschermde herkomsten gewist. Zorg dat je app-gegevens echt wilt verwijderen voordat je 'protectedWeb' of 'extensions' toevoegt.

    • extensie

      booleaans optioneel

      Extensies en pakket-apps die een gebruiker heeft geïnstalleerd (wees _heel_ voorzichtig!).

    • protectedWeb

      booleaans optioneel

      Websites die zijn geïnstalleerd als gehoste apps (wees voorzichtig).

    • unprotectedWeb

      booleaans optioneel

      Normale websites.

  • oorsprongen

    [string, ...string[]] optioneel

    Chrome 74 of hoger browser.* sinds Chrome 148

    Als deze aanwezig is, worden alleen gegevens voor herkomsten in deze lijst verwijderd. Alleen ondersteund voor cookies, opslag en cache. Cookies worden gewist voor het hele registreerbare domein.

  • sinds

    number optioneel

    Verwijder gegevens die zijn verzameld op of na deze datum, weergegeven in milliseconden sinds het tijdperk (toegankelijk via de methode getTime van het JavaScript-object Date). Als deze waarde ontbreekt, is de standaardwaarde 0 (waardoor alle browsegegevens worden verwijderd).

Methoden

remove()

browser.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

Hiermee worden verschillende typen browsegegevens gewist die zijn opgeslagen in het profiel van een gebruiker.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de verwijdering is afgerond.

removeAppcache()

Beëindigd sinds Chrome 152
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

Ondersteuning voor appcache is verwijderd. Deze functie heeft geen effect.

Hiermee worden de appcache-gegevens van websites gewist.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de appcache-gegevens van websites zijn gewist.

removeCache()

browser.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

Wist het cachegeheugen van de browser.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als het cachegeheugen van de browser is gewist.

removeCacheStorage()

Chrome 72+ -browser.* sinds Chrome 148
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

Hiermee worden de cacheopslaggegevens van websites gewist.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de cacheopslag van websites is gewist.

removeCookies()

browser.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

Wist de cookies en servergebonden certificaten van de browser die binnen een bepaald tijdsbestek zijn gewijzigd.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de cookies en servergebonden certificaten van de browser zijn gewist.

removeDownloads()

browser.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

Hiermee wordt de lijst met gedownloade bestanden van de browser gewist (niet de gedownloade bestanden zelf).

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de lijst met gedownloade bestanden van de browser is gewist.

removeFileSystems()

browser.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

Wist de bestandssysteemgegevens van websites.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de bestandssystemen van websites zijn gewist.

removeFormData()

browser.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

Hiermee worden de opgeslagen formuliergegevens van de browser gewist (automatisch invullen).

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de formuliergegevens van de browser zijn gewist.

removeHistory()

browser.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

Wist de geschiedenis van de browser.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de geschiedenis van de browser is gewist.

removeIndexedDB()

browser.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

Wist de IndexedDB-gegevens van websites.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de IndexedDB-gegevens van websites zijn gewist.

removeLocalStorage()

browser.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

Hiermee worden de gegevens over lokale opslag van websites gewist.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de lokale opslag van websites is gewist.

removePasswords()

Beëindigd sinds Chrome 144
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

Ondersteuning voor het verwijderen van wachtwoorden via extensies is verwijderd. Deze functie heeft geen effect.

Hiermee worden de opgeslagen wachtwoorden van de browser gewist.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de wachtwoorden van de browser zijn gewist.

removePluginData()

Beëindigd sinds Chrome 88
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Ondersteuning voor Flash is verwijderd. Deze functie heeft geen effect.

Wist de gegevens van plug-ins.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de gegevens van de plug-ins zijn gewist.

removeServiceWorkers()

Chrome 72+ -browser.* sinds Chrome 148
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

Wist de servicemedewerkers van websites.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de servicemedewerkers van websites zijn gewist.

removeWebSQL()

Beëindigd sinds Chrome 152
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

Ondersteuning voor WebSQL is verwijderd. Deze functie heeft geen effect.

Wist de WebSQL-gegevens van websites.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 96+ browser.* sinds Chrome 148

    Wordt opgelost als de WebSQL-databases van websites zijn gewist.

settings()

browser.browsingData.settings(): Promise<object>

Rapporteert welke typen gegevens op dit moment zijn geselecteerd in de UI van de instellingen voor Browsegegevens wissen. Opmerking: Sommige gegevenstypen in deze API zijn niet beschikbaar in de UI voor instellingen en sommige UI-instellingen beheren meer dan één gegevenstype dat hier wordt vermeld.

Retourzendingen

  • Promise<object>

    Chrome 96+ browser.* sinds Chrome 148