chrome.browsingData

Description

Utilisez l'API chrome.browsingData pour supprimer les données de navigation du profil local d'un utilisateur.

Autorisations

browsingData

Fichier manifeste

Pour utiliser cette API, vous devez déclarer l'autorisation "browsingData" dans le fichier manifeste de l'extension.

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

Utilisation

Le cas d'utilisation le plus simple de cette API est un mécanisme basé sur le temps pour effacer les données de navigation d'un utilisateur. Votre code doit fournir un code temporel indiquant la date historique après laquelle les données de navigation de l'utilisateur doivent être supprimées. Ce code temporel est mis en forme en nombre de millisecondes écoulées depuis l'époque Unix (qui peut être récupérée à partir d'un objet Date JavaScript via la méthode getTime).

Par exemple, pour effacer toutes les données de navigation d'un utilisateur au cours de la semaine dernière, vous pouvez écrire le code suivant :

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);

La méthode chrome.browsingData.remove vous permet de supprimer différents types de données de navigation en un seul appel. Elle est beaucoup plus rapide que l'appel de plusieurs méthodes plus spécifiques. Toutefois, si vous ne souhaitez effacer qu'un type spécifique de données de navigation (les cookies, par exemple), les méthodes plus précises offrent une alternative lisible à un appel rempli de 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);

Si l'utilisateur synchronise ses données, chrome.browsingData.remove peut recréer automatiquement le cookie pour le compte de synchronisation après l'avoir supprimé. Cela permet de s'assurer que la synchronisation peut continuer à fonctionner, afin que les données puissent être supprimées ultérieurement sur le serveur. Toutefois, le chrome.browsingData.removeCookies plus spécifique peut être utilisé pour effacer le cookie du compte de synchronisation. Dans ce cas, la synchronisation sera suspendue.

Origines spécifiques

Pour supprimer les données d'une origine spécifique ou exclure un ensemble d'origines de la suppression, vous pouvez utiliser les paramètres RemovalOptions.origins et RemovalOptions.excludeOrigins. Elles ne peuvent être appliquées qu'aux cookies, au cache et au stockage (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers et WebSQL).

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

Types d'origines

L'ajout d'une propriété originTypes à l'objet d'options de l'API vous permet de spécifier les types d'origines qui doivent être affectés. Actuellement, les origines sont divisées en trois catégories :

  • unprotectedWeb couvre le cas général des sites Web que les utilisateurs visitent sans effectuer d'action particulière. Si vous ne spécifiez pas de originTypes, l'API supprime par défaut les données des origines Web non protégées.
  • protectedWeb couvre les origines Web qui ont été installées en tant qu'applications hébergées. Par exemple, l'installation d'Angry Birds protège l'origine https://chrome.angrybirds.com et la supprime de la catégorie unprotectedWeb. Veuillez faire attention lorsque vous déclenchez la suppression des données pour ces origines : assurez-vous que vos utilisateurs savent ce qu'ils obtiennent, car cela supprimera irrévocablement leurs données de jeu. Personne ne veut renverser les petites maisons de cochons plus souvent que nécessaire.
  • extension couvre les origines sous le schéma chrome-extensions:. Encore une fois, vous devez faire très attention lorsque vous supprimez les données d'une extension.

Nous pouvons ajuster l'exemple précédent pour ne supprimer que les données des sites Web protégés comme suit :

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);

Exemples

Pour essayer cette API, installez l'exemple d'API browsingData à partir du dépôt chrome-extension-samples.

Types

DataTypeSet

Ensemble de types de données. Les types de données manquants sont interprétés comme false.

Propriétés

  • appcache

    booléen facultatif

    Les caches d'application des sites Web.

  • cache

    booléen facultatif

    le cache du navigateur.

  • cacheStorage

    booléen facultatif

    Chrome 72 et versions ultérieures

    Espace de stockage du cache

  • cookies

    booléen facultatif

    Les cookies du navigateur.

  • téléchargements

    booléen facultatif

    La liste de téléchargements du navigateur.

  • fileSystems

    booléen facultatif

    Systèmes de fichiers des sites Web.

  • formData

    booléen facultatif

    Données de formulaire stockées dans le navigateur.

  • historique

    booléen facultatif

    Historique du navigateur.

  • indexedDB

    booléen facultatif

    Données IndexedDB des sites Web.

  • localStorage

    booléen facultatif

    Données de stockage local des sites Web.

  • mots de passe

    booléen facultatif

    Mots de passe enregistrés.

  • pluginData

    booléen facultatif

    Obsolète depuis Chrome 88

    La compatibilité avec Flash a été supprimée. Ce type de données sera ignoré.

    Données des plug-ins.

  • serverBoundCertificates

    booléen facultatif

    Obsolète depuis Chrome 76

    La compatibilité avec les certificats liés au serveur a été supprimée. Ce type de données sera ignoré.

    Certificats liés au serveur.

  • serviceWorkers

    booléen facultatif

    Service workers.

  • webSQL

    booléen facultatif

    Données WebSQL des sites Web.

RemovalOptions

Options qui déterminent exactement quelles données seront supprimées.

Propriétés

  • excludeOrigins

    string[] facultatif

    Chrome 74 et versions ultérieures

    Lorsque des données sont présentes pour des origines figurant dans cette liste, elles ne sont pas supprimées. Ne peut pas être utilisé avec origins. Uniquement compatible avec les cookies, le stockage et le cache. Les cookies sont exclus pour l'ensemble du domaine enregistrable.

  • originTypes

    object facultatif

    Objet dont les propriétés spécifient les types d'origine à effacer. Si cet objet n'est pas spécifié, la valeur par défaut est d'effacer uniquement les origines "non protégées". Veuillez vous assurer que vous souhaitez vraiment supprimer les données de l'application avant d'ajouter "protectedWeb" ou "extensions".

    • extension

      booléen facultatif

      Extensions et applications empaquetées installées par un utilisateur (soyez _très_ prudent !).

    • protectedWeb

      booléen facultatif

      Sites Web installés en tant qu'applications hébergées (attention !).

    • unprotectedWeb

      booléen facultatif

      Sites Web normaux

  • origines

    [string, ...string[]] facultatif

    Chrome 74 et versions ultérieures

    Si cette liste est présente, seules les données des origines qu'elle contient sont supprimées. Uniquement compatible avec les cookies, le stockage et le cache. Les cookies sont effacés pour l'ensemble du domaine enregistrable.

  • depuis

    number facultatif

    Supprimez les données accumulées à cette date ou après, représentées en millisecondes depuis l'epoch (accessibles via la méthode getTime de l'objet JavaScript Date). Si ce paramètre est absent, la valeur par défaut est 0 (ce qui supprime toutes les données de navigation).

Méthodes

remove()

Promise
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

Efface différents types de données de navigation stockées dans le profil d'un utilisateur.

Paramètres

  • options
  • dataToRemove

    Ensemble de types de données à supprimer.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeAppcache()

Promise
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données du cache d'application des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeCache()

Promise
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Vide le cache du navigateur.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeCacheStorage()

Promise Chrome 72 et versions ultérieures
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données de cache des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeCookies()

Promise
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les cookies et les certificats liés au serveur modifiés dans un délai spécifique.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeDownloads()

Promise
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface la liste des fichiers téléchargés du navigateur (pas les fichiers téléchargés eux-mêmes).

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeFileSystems()

Promise
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données du système de fichiers des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeFormData()

Promise
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données de formulaire stockées dans le navigateur (saisie automatique).

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeHistory()

Promise
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface l'historique du navigateur.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeIndexedDB()

Promise
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données IndexedDB des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeLocalStorage()

Promise
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données de stockage local des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removePasswords()

Promise
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les mots de passe stockés dans le navigateur.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removePluginData()

Promise Obsolète depuis Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

La compatibilité avec Flash a été supprimée. Cette fonction n'a aucun effet.

Efface les données des plug-ins.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeServiceWorkers()

Promise Chrome 72 et versions ultérieures
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les service workers des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeWebSQL()

Promise
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Efface les données WebSQL des sites Web.

Paramètres

  • options
  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

settings()

Promise
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

Indique les types de données actuellement sélectionnés dans l'interface utilisateur des paramètres "Effacer les données de navigation". Remarque : Certains types de données inclus dans cette API ne sont pas disponibles dans l'interface utilisateur des paramètres, et certains paramètres de l'UI contrôlent plusieurs types de données listés ici.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (result: object) => void

    • résultat

      objet

      • dataRemovalPermitted

        Tous les types seront présents dans le résultat, avec des valeurs true s'ils peuvent être supprimés (par exemple, par une règle d'entreprise) et false dans le cas contraire.

      • dataToRemove

        Tous les types seront présents dans le résultat, avec des valeurs true s'ils sont tous deux sélectionnés pour être supprimés et autorisés à l'être, sinon false.

      • options

Renvoie

  • Promise<object>

    Chrome 96 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.