Je travaille dans un projet qui implique d'utiliser IndexedDB. Alors que je commence à connaître cette technologie, je dois pouvoir supprimer manuellement une base de données indexée afin de pouvoir recommencer à zéro.
J'ai trouvé le moyen de le faire dans Firefox, mais je ne parviens pas à trouver le chemin pour Google Chrome.
J'ai essayé de supprimer le contenu de ce dossier (j'utilise Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
mais il semble que Chrome ait encore la base de données n'importe où, donc je ne peux pas recommencer.
En théorie, tout ce que vous devez faire pour supprimer IndexedDB dans Chrome est le suivant:
Sous Windows, le fichier se trouve ici:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB
Sur Mac, procédez comme suit:
Sur Mac, le dossier se trouve ici:
/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default/IndexedDB/
Sous Linux, le dossier se trouve à l'adresse suivante:
/home/[USERNAME]/.config/google-chrome/Default/IndexedDB/
J'ai réussi à exécuter les opérations suivantes sous Chrome:
indexedDB.deleteDatabase('DB NAME')
Alternative est de le faire dans la console des développeurs, en utilisant cette commande:
indexedDB.deleteDatabase("databaseName")
Dans Chrome Webkit, vous pouvez utiliser webkitGetDatabaseNames
qui renvoie tous les noms de base de données.
Avec ce code, vous pouvez supprimer toutes les bases de données indexées locales:
window.indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args)
{
var r = sender.target.result;
for(var i in r)
indexedDB.deleteDatabase(r[i]);
};
Pour supprimer les bases de données all Chrome IndexedDB, exécutez les opérations suivantes dans l'émulateur de terminal OSX.
rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*
Maintenant, redémarrez votre navigateur et c'est tout.
Comme je dois purger très souvent les bases de données IndexedDB, j’ai créé un alias dans mon fichier.
alias purge-idb="rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*"
Pour supprimer IndexedDB de la version OS X de Chrome:
1) Dans Préférences, affichez les paramètres avancés, puis cliquez sur le bouton "Paramètres de contenu" dans la section "Confidentialité".
2) Dans la fenêtre contextuelle "Paramètres de contenu", cliquez sur le bouton "Tous les cookies et les données du site" dans la section "Cookies".
3) Dans la fenêtre contextuelle "Cookies et données de site", utilisez la zone de texte "Rechercher les cookies" pour rechercher le domaine qui est la source de IndexedDB.
4) Cliquez sur l'entrée du domaine dans la liste.
5) Cliquez sur la balise "base de données indexée" répertoriée sous le domaine.
6) Cliquez sur le bouton "Supprimer" dans le menu déroulant de la base de données indexée.
Il n'est pas possible de supprimer la base de données IndexedDB (par opposition aux magasins et aux index) par programme.
En ce qui concerne les solutions manuelles, cet article détaille l’emplacement de la base de données sur les systèmes Windows pour Firefox et Chrome.
Mise à jour: grâce au développeur Joshua Bell, Chrome implémente une méthode deleteDatabase
non conforme aux spécifications (mais extrêmement utile) sur l'objet window.indexedDB
. Voici le crbug qui a atterri ce patch. De plus, dans les versions plus récentes d'IE, vous pouvez supprimer des bases de données via un panneau de configuration .
Dans le répertoire Debian GNU/Linux
/home/[nomdutilisateurername/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/
contient des fichiers réguliers (par exemple):
000003.log, COURANT, VERROUILLAGE, JOURNAL, MANIFEST-000002
Les outils de développement Chrome offrent désormais la possibilité de supprimer toutes les bases de données d'une application, sous "Application/Clear Storage".
En chrome 62
Settings
Advanced
est ouverteContent Settings
Cookies
See all cookies and site data
search bar
, tapez le domaine que vous recherchez (par exemple, localhost).Remarque: si vous avez deux navigateurs Chrome ouverts, connectez-vous à l'un d'eux et lancez l'autre à partir de Visual Studio dans le cadre de votre processus de débogage (mais vous n'y êtes pas connecté). L'autre.
Je devais me débarrasser d'une BD indexée dans Chrome. Donc, je recherche cette chose moche appelée "assistant de messagerie" sur mon ordinateur à l'aide de MasterSeeker. Trouvé la chose dans un groupe de dossiers qui ont été indexés DB dans Chrome. Cela semblait trop facile de supprimer ces fichiers. Je levai les yeux comment et me retrouvai ici. Je suis allé dans chrome paramètres avec mon ordinateur Windows 10. Je viens d'essayer d'effacer les données de navigation. Presto - tous ces fichiers ont disparu de indexedDB, y compris ce redoutable "email assistant" crapola. À présent, lorsque je regarde dans le dossier indexedDB, tout ce que je vois qui a réapparu est https_mail.google.com_0.indexeddb.leveldb - qui ressemble à une chose sûre et non irritante.
C'est peut-être exagéré pour votre question spécifique, mais je n'arrêtais pas de me retrouver ici dans ma lutte pour supprimer mon idb.
Ma solution à la fin était basée sur la documentation de mozilla , mais nécessitait que je ferme d'abord la base de données.
Pour moi, en Javascript, le code ressemblait à ceci:
my_db_instance.close(function(e){console.log(e)});
var DBDeleteRequest = indexedDB.deleteDatabase("my_db_name");
// When i had the base open, the closure was blocked, so i left this here
DBDeleteRequest.onblocked = function(event) {
console.log("Blocked");
};
DBDeleteRequest.onerror = function(event) {
console.log("Error deleting database.");
console.log(event);
};
DBDeleteRequest.onsuccess = function(event) {
console.log("Database deleted successfully");
};
Vous pouvez également utiliser votre application Web dans une nouvelle fenêtre de navigation privée et la fermer lorsque vous avez terminé: base de données supprimée.
Dans Windows, vous pouvez supprimer manuellement l’ensemble des bases de données IndexedDB en localisant le répertoire IndexedDB du navigateur et en le supprimant.
Pour Chrome:
C:\Utilisateurs\nom d'utilisateur\AppData\Local\Google\Chrome\Données utilisateur\Profil 1\IndexedDB
Vous pouvez supprimer chaque dossier qui efface la base de données indexée. Vous pouvez recommencer maintenant.
En chrome OSX-/Utilisateurs/utilisateur/Bibliothèque/Application Support/Google/Chrome/Par défaut/IndexedDB Firefox OSX - Utilisateurs/utilisateur/Bibliothèque/Application Support/Firefox/Profils/4zaemxcn.default/indexedDB
Il vous suffit de rendre visible le dossier de la bibliothèque. Tous les fichiers sont stockés dans des dossiers (appelés nom de domaine) et utilisent des hachages, mais vous pouvez déterminer le nom de la base de données à partir de celle-ci . Vous pouvez supprimer des données d'IDB car il s'agit d'une base de données côté client. et toutes les données sont stockées localement.