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 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'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 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 sera 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 (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 des API vous permet de spécifier les types d'origines qui doivent être affectés. 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 deoriginTypes
, 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'originehttps://chrome.angrybirds.com
et la supprime de la catégorieunprotectedWeb
. Soyez prudent 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émachrome-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érieuresEspace 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 88La 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 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.
- 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é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. - 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é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.
- 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 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,
): 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.
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Efface les données du cache d'application des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Vide le cache du navigateur.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Efface les données de cache des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Efface les cookies et les certificats liés au serveur modifiés dans un délai spécifique.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): 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
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Efface les données du système de fichiers des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Efface les données de formulaire stockées dans le navigateur (saisie automatique).
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Efface l'historique du navigateur.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Efface les données IndexedDB des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Efface les données de stockage local des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Efface les mots de passe stockés dans le navigateur.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): 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
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Efface les service workers des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Efface les données WebSQL des sites Web.
Paramètres
- options
Renvoie
-
Promise<void>
Chrome 96 et versions ultérieures
settings()
chrome.browsingData.settings(): 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.
Renvoie
-
Promise<object>
Chrome 96 et versions ultérieures