Description
Utilisez l'API chrome.browsingData
pour supprimer les données de navigation du profil local d'un utilisateur.
Autorisations
browsingData
Manifest
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 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 de l'utilisateur doivent être supprimées. Cet horodatage est formaté comme le nombre de millisecondes écoulées depuis l'epoch 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 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 en 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 (les cookies, par exemple), les méthodes plus précises offrent une alternative lisible à un appel rempli avec 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 et que les données peuvent être supprimées du serveur à terme. Toutefois, le chrome.browsingData.removeCookies
plus spécifique peut être utilisé pour effacer le cookie du compte de synchronisation, auquel cas la synchronisation est suspendue.
Origines spécifiques
Pour supprimer les données d'une origine spécifique ou pour 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'origine
L'ajout d'une propriété originTypes
à l'objet d'options de l'API vous permet de spécifier les types d'origines à affecter. Actuellement, 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 deoriginTypes
, l'API supprime par défaut les données provenant d'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'originehttps://chrome.angrybirds.com
et la supprime de la catégorieunprotectedWeb
. Soyez prudent lorsque vous déclenchez la suppression de 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 de minuscules cochons plus souvent que nécessaire.extension
couvre les origines sous le schémachrome-extensions:
. Il faut faire très attention à supprimer les données sur les extensions.
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 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
-
cache d'application
Booléen facultatif
Mises en cache des applications des sites Web
-
cache
Booléen facultatif
Cache du navigateur
-
cacheStorage
Booléen facultatif
Chrome 72 ou version ultérieureEspace 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 88Flash 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 76Les 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 exactement quelles données seront supprimées.
Propriétés
-
excludeOrigins
string[] facultatif
Chrome 74 ou version ultérieureLorsqu'elle est présente, 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é, seules les origines "non protégées" sont effacées par défaut. Assurez-vous de vouloir vraiment supprimer les données de l'application avant d'ajouter "protectionWeb" 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[]] optional
Chrome 74 ou version ultérieureLorsqu'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 JavaScriptDate
). 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()
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
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Efface les données du cache de l'application des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Efface le cache du navigateur.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Efface les données de stockage du cache des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeCookies()
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
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeDownloads()
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
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Efface les données du système de fichiers des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeFormData()
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
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Efface l'historique du navigateur.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Efface les données IndexedDB des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Efface les données de stockage locales des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removePasswords()
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
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removePluginData()
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
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Efface les service workers des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Efface les données WebSQL des sites Web.
Paramètres
-
options
-
rappel
function facultatif
Le paramètre
callback
ressemble à ceci :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
settings()
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, 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
ressemble à ceci :(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) etfalse
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<object>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.