Description
Utilisez l'API chrome.browsingData pour supprimer les données de navigation du profil local d'un utilisateur.
Autorisations
browsingDataFichier 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 :
- unprotectedWebcouvre 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.
- protectedWebcouvre 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.comet 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.
- extensioncouvre 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
- 
    appcachebooléen facultatif Les caches d'application des sites Web. 
- 
    cachebooléen facultatif le cache du navigateur. 
- 
    cacheStoragebooléen facultatif Chrome 72 et versions ultérieuresEspace de stockage du cache 
- 
    cookiesbooléen facultatif Les cookies du navigateur. 
- 
    téléchargementsbooléen facultatif La liste de téléchargements du navigateur. 
- 
    fileSystemsbooléen facultatif Systèmes de fichiers des sites Web. 
- 
    formDatabooléen facultatif Données de formulaire stockées dans le navigateur. 
- 
    historiquebooléen facultatif Historique du navigateur. 
- 
    indexedDBbooléen facultatif Données IndexedDB des sites Web. 
- 
    localStoragebooléen facultatif Données de stockage local des sites Web. 
- 
    mots de passebooléen facultatif Mots de passe enregistrés. 
- 
    pluginDatabooléen facultatif Obsolète depuis Chrome 88La compatibilité avec Flash a été supprimée. Ce type de données sera ignoré. Données des plug-ins. 
- 
    serverBoundCertificatesbooléen facultatif Obsolète depuis Chrome 76La compatibilité avec les certificats liés au serveur a été supprimée. Ce type de données sera ignoré. Certificats liés au serveur. 
- 
    serviceWorkersbooléen facultatif Service workers. 
- 
    webSQLbooléen facultatif Données WebSQL des sites Web. 
RemovalOptions
Options qui déterminent exactement quelles données seront supprimées.
Propriétés
- 
    excludeOriginsstring[] facultatif Chrome 74 et versions ultérieuresLorsque 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.
- 
    originTypesobject 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". - 
    extensionbooléen facultatif Extensions et applications empaquetées installées par un utilisateur (soyez _très_ prudent !). 
- 
    protectedWebbooléen facultatif Sites Web installés en tant qu'applications hébergées (attention !). 
- 
    unprotectedWebbooléen facultatif Sites Web normaux 
 
- 
    
- 
    origines[string, ...string[]] facultatif Chrome 74 et versions ultérieuresSi 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. 
- 
    depuisnumber 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 getTimede l'objet JavaScriptDate). 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()
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
- 
    dataToRemoveEnsemble de types de données à supprimer. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données du cache d'application des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Vide le cache du navigateur.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données de cache des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeCookies()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeDownloads()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données du système de fichiers des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeFormData()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface l'historique du navigateur.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données IndexedDB des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données de stockage local des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les mots de passe stockés dans le navigateur.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removePluginData()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les service workers des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
Efface les données WebSQL des sites Web.
Paramètres
- 
    options
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
settings()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(result: object) => void - 
    résultatobjet - 
    dataRemovalPermittedTous les types seront présents dans le résultat, avec des valeurs trues'ils peuvent être supprimés (par exemple, par une règle d'entreprise) etfalsedans le cas contraire.
- 
    dataToRemoveTous les types seront présents dans le résultat, avec des valeurs trues'ils sont tous deux sélectionnés pour être supprimés et autorisés à l'être, sinonfalse.
- 
    options
 
- 
    
 
- 
    
Renvoie
- 
            Promise<object> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.