chrome.browsingData

Description

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

Autorisations

browsingData

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

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

Concepts et 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 horodatage qui indique la date de l'historique à partir de laquelle les données de navigation de l'utilisateur doivent être supprimées. Cet horodatage est mis en forme en fonction du nombre de millisecondes écoulées depuis l'epoch Unix (qui peut être récupéré à partir d'un objet Date JavaScript à l'aide de la méthode getTime()).

Par exemple, pour effacer toutes les données de navigation d'un utilisateur de la semaine précédente, 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 avec un seul appel. Elle est beaucoup plus rapide que d'appeler plusieurs méthodes plus spécifiques. Toutefois, si vous ne souhaitez effacer qu'un type spécifique de données de navigation (cookies, par exemple), les méthodes plus précises offrent une alternative lisible à un appel rempli de code 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 du compte de synchronisation après l'avoir effacé. Cela permet de garantir que la synchronisation peut continuer à fonctionner, afin que les données puissent à terme être supprimées du serveur. Toutefois, plus le paramètre chrome.browsingData.removeCookies() spécifique peut être utilisé pour effacer le cookie du compte de synchronisation. Dans ce cas, la synchronisation est suspendue.

Origines spécifiques

Pour supprimer les données d'une origine spécifique ou empêcher la suppression d'un ensemble d'origines, vous pouvez utiliser les paramètres RemovalOptions.origins et RemovalOptions.excludeOrigins. Ils ne peuvent être appliqués 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'origine

L'ajout d'une propriété originTypes à l'objet d'options des API vous permet de spécifier les types d'origines concernés. Les origines sont divisées en trois catégories:

  • unprotectedWeb couvre le cas général des sites Web que les utilisateurs consultent sans aucune action spéciale. 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. L'installation d'Angry Birds, par exemple, protège l'origine https://chrome.angrybirds.com et la supprime de la catégorie unprotectedWeb. Soyez prudent lorsque vous déclenchez la suppression de données pour ces origines: assurez-vous que vos utilisateurs savent ce qu'ils obtiendront, car cela supprimera irrévocablement leurs données de jeu. Personne ne veut renverser de minuscules cochons plus souvent que nécessaire.
  • extension couvre les origines dans le cadre du schéma chrome-extensions:. La suppression des données d'extension est, là encore, quelque chose que vous devez faire très attention.

Nous pourrions 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 navigateurData à partir du dépôt chrome-extension-samples.

Types

DataTypeSet

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

Propriétés

  • cache d'application

    Booléen facultatif

    Caches d'application des sites Web

  • cache

    Booléen facultatif

    Cache du navigateur

  • cacheStorage

    Booléen facultatif

    Chrome 72 ou version ultérieure

    Espace de stockage du cache

  • cookies

    Booléen facultatif

    Les cookies du navigateur

  • téléchargements

    Booléen facultatif

    Liste de téléchargement du navigateur.

  • fileSystems

    Booléen facultatif

    Les systèmes de fichiers des sites Web.

  • formData

    Booléen facultatif

    Données de formulaire stockées par 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

    Flash n'est plus pris en charge. Ce type de données sera ignoré.

    Données des plug-ins.

  • serverBoundCertificates

    Booléen facultatif

    Obsolète depuis Chrome 76

    Les certificats liés au serveur ne sont plus pris en charge. 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 précisément quelles données seront supprimées.

Propriétés

  • excludeOrigins

    string[] facultatif

    Chrome 74 et versions ultérieures

    Lorsqu'elles sont présentes, les données des origines de cette liste sont exclues de la suppression. Ne peut pas être utilisé avec origins. Uniquement pris en charge pour les cookies, le stockage et le cache. Les cookies sont exclus pour l'ensemble du domaine enregistrable.

  • originTypes

    objet facultatif

    Objet dont les propriétés spécifient les types d'origines à effacer. Si cet objet n'est pas spécifié, seules les origines "non protégées" sont effacées par défaut. Assurez-vous que vous souhaitez vraiment supprimer les données d'application avant d'ajouter "ProtectedWeb" ou "extensions".

    • extension

      Booléen facultatif

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

    • protectedWeb

      Booléen facultatif

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

    • unprotectedWeb

      Booléen facultatif

      Sites Web normaux.

  • origines

    string[] facultatif

    Chrome 74 et versions ultérieures

    Lorsqu'elles sont présentes, seules les données des origines figurant dans cette liste sont supprimées. Uniquement pris en charge pour les cookies, le stockage et le cache. Les cookies sont effacés pour l'ensemble du domaine enregistrable.

  • depuis

    numéro facultatif

    Supprimez les données accumulées à partir de cette date, représentées en millisecondes écoulées depuis l'epoch (accessibles via la méthode getTime de l'objet JavaScript Date). Si ce champ n'est pas renseigné, la valeur par défaut est 0 (toutes les données de navigation sont alors supprimées).

Méthodes

remove()

Promesse
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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.

  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeAppcache()

Promesse
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeCache()

Promesse
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Efface le cache du navigateur.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeCacheStorage()

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

Efface les données de stockage du cache des sites Web.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeCookies()

Promesse
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

Efface les cookies du navigateur et les certificats liés au serveur qui ont été modifiés au cours d'une période donnée.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeDownloads()

Promesse
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeFileSystems()

Promesse
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeFormData()

Promesse
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeHistory()

Promesse
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Efface l'historique du navigateur.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeIndexedDB()

Promesse
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Efface les données IndexedDB des sites Web.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeLocalStorage()

Promesse
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removePasswords()

Promesse
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removePluginData()

Promesse Obsolète depuis Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Flash n'est plus pris en charge. Cette fonction n'a aucun effet.

Efface les données des plug-ins.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeServiceWorkers()

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

Efface les service workers des sites Web.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

removeWebSQL()

Promesse
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Efface les données WebSQL des sites Web.

Paramètres

  • options
  • rappel

    fonction facultative

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

    () => void

Renvoie

  • Promise<void>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

settings()

Promesse
chrome.browsingData.settings(
  callback?: function,
)

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, tandis que d'autres contrôlent plusieurs types de données listés ici.

Paramètres

  • rappel

    fonction facultative

    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 les valeurs true si leur suppression est autorisée (par exemple, selon la règle de l'entreprise) et false dans le cas contraire.

      • dataToRemove

        Tous les types seront présents dans le résultat, avec les valeurs true si leur suppression et leur suppression sont autorisées. Sinon, false.

      • options

Renvoie

  • Promise<object>

    Chrome 96 et versions ultérieures

    Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.