chrome.browsingData

Description

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

Autorisations

browsingData

Vous devez déclarer l'autorisation "browsingData" dans le fichier manifeste de l'extension pour utiliser cette API.

{
  "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 permettant d'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 doivent être supprimées. Ce code temporel est formaté comme le nombre de millisecondes écoulées depuis epoch Unix (qui peut être récupérée à partir d'un objet Date JavaScript à l'aide de la méthode getTime()).

Par exemple, pour effacer toutes les données de navigation de la semaine précédente d'un utilisateur, vous pouvez écrire du code sous la forme ce qui 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
}, {
  "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 à l'aide d'une un seul appel, ce qui est beaucoup plus rapide que d'appeler plusieurs méthodes plus spécifiques. En revanche, si vous vous ne voulez effacer qu'un type spécifique de données de navigation (les cookies, par exemple), 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 effacé. Cela permet de garantir que la synchronisation puisse continuer à fonctionner et que les données peuvent être finalement supprimées sur le serveur. Toutefois, plus la stratégie chrome.browsingData.removeCookies() permet d'effacer le cookie du compte de synchronisation. est mis en veille dans ce cas.

Origines spécifiques

Pour supprimer les données d'une origine spécifique ou pour en exclure certains, vous pouvez utiliser les Paramètres RemovalOptions.origins et RemovalOptions.excludeOrigins. Elles ne peuvent s'appliquer qu'aux les cookies, le cache et le 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 de l'API vous permet de spécifier les types de origines doivent être touchées. Les origines sont divisées en trois catégories:

  • unprotectedWeb couvre le cas général des sites Web que les utilisateurs consultent sans suivre action. Si vous ne spécifiez pas de originTypes, l'API supprime par défaut les données des origines Web.
  • protectedWeb couvre les origines Web qui ont été installées en tant qu'applications hébergées. L'installation d'Angry Birds, par exemple, permet de protéger l'origine https://chrome.angrybirds.com. la supprime de la catégorie unprotectedWeb. Soyez prudent lorsque vous déclenchez la suppression des données pour ces origines: assurez-vous que vos utilisateurs savent ce qu'ils vont recevoir, supprimer leurs données de jeu. Personne ne veut renverser de minuscules cochons plus souvent que nécessaire.
  • extension couvre les origines sous le schéma chrome-extensions:. Supprimer les données d'extension mais il faut faire très attention.

Nous pourrions ajuster l'exemple précédent pour supprimer uniquement 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'APIbrowsingData à partir de chrome-extension-samples. un dépôt de clés.

Types

DataTypeSet

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

    Sites Web caches d'application.

  • cache

    Booléen facultatif

    Cache du navigateur

  • cacheStorage

    Booléen facultatif

    Chrome (version 72 ou 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

    Sites Web systèmes de fichiers.

  • formData

    Booléen facultatif

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

  • historique

    Booléen facultatif

    Historique du navigateur.

  • indexedDB

    Booléen facultatif

    Sites Web Données IndexedDB

  • localStorage

    Booléen facultatif

    Sites Web des données stockées en local.

  • mots de passe

    Booléen facultatif

    Mots de passe enregistrés.

  • pluginData

    Booléen facultatif

    <ph type="x-smartling-placeholder"></ph> Obsolète depuis Chrome 88

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

    Plug-ins données.

  • serverBoundCertificates

    Booléen facultatif

    <ph type="x-smartling-placeholder"></ph> 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

    Sites Web Données WebSQL.

RemovalOptions

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

Propriétés

  • excludeOrigins

    string[] facultatif

    Chrome 74 ou version ultérieure

    Lorsqu'elles sont présentes, les données des origines de cette liste sont exclues de la suppression. Il ne peut pas être utilisé avec origins. Disponible uniquement 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'origine à effacer. Si cet objet n'est pas spécifié, seule la valeur "non protégé" est effacée par défaut. origines. Assurez-vous de vouloir réellement supprimer les données de l'application avant d'ajouter "ProtectedWeb". ou "extensions".

    • extension

      Booléen facultatif

      Extensions et applications empaquetées qu'un utilisateur a installées (faites _vraiment_attention !).

    • protectedWeb

      Booléen facultatif

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

    • unprotectedWeb

      Booléen facultatif

      Sites Web normaux.

  • origines

    [string, ...string[]] facultatif

    Chrome 74 ou version ultérieure

    Lorsqu'elle est présente, seules les données des origines figurant dans cette liste sont supprimées. Disponible uniquement 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 à cette date ou après, représentées en millisecondes depuis l'epoch (accessible via la méthode getTime de l'objet JavaScript Date). Si ce champ n'est pas renseigné, la valeur par défaut est 0 (ce qui entraîne la suppression de toutes les données de navigation).

Méthodes

remove()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

Efface les 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

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeAppcache()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

Efface les sites Web Appcache.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeCache()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Efface le cache du navigateur.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeCacheStorage()

<ph type="x-smartling-placeholder"></ph> Promesse Chrome 72 ou version ultérieure
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeCookies()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeDownloads()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeFileSystems()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeFormData()

<ph type="x-smartling-placeholder"></ph> 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

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeHistory()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Efface l'historique du navigateur.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeIndexedDB()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Efface les sites Web Données IndexedDB

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeLocalStorage()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Efface les sites Web des données stockées en local.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removePasswords()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

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

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removePluginData()

<ph type="x-smartling-placeholder"></ph> 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 plug-ins données.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeServiceWorkers()

<ph type="x-smartling-placeholder"></ph> Promesse Chrome 72 ou version ultérieure
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Efface les sites Web de service workers.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

removeWebSQL()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Efface les sites Web Données WebSQL.

Paramètres

  • options
  • rappel

    function facultatif

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

    () => void

Renvoie

  • Promesse<void>

    Chrome 96 ou version ultérieure

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

settings()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.browsingData.settings(
  callback?: function,
)

Indique les types de données actuellement sélectionnés dans "Effacer les données de navigation" des paramètres. 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 d'interface utilisateur contrôlent plusieurs types de données listés ici.

Paramètres

  • rappel

    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 sont autorisés à être supprimés (par une règle d'entreprise, par exemple) 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 les deux sélectionnés pour être supprimés et autorisés à être supprimés. Sinon, false.

      • options

Renvoie

  • Promise&lt;object&gt;

    Chrome 96 ou version ultérieure

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