Comment supprimer indexedDB?


92

Je travaille dans un projet qui implique l'utilisation d'IndexedDB. Comme je commence à connaître cette technologie, je dois être capable de supprimer une indexedDB à la main pour pouvoir recommencer.

J'ai trouvé le moyen de le faire dans Firefox, mais je ne trouve pas 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 toujours la base de données n'importe où, donc je ne peux pas recommencer.

Réponses:


101

En théorie, tout ce que vous devez faire pour supprimer un IndexedDB dans Chrome est:

  1. Dans Chrome, accédez à Options> Sous le capot> Paramètres de contenu> Tous les cookies et données de site> recherchez le domaine dans lequel vous avez créé IndexedDB
  2. Appuyez sur le "X" ou cliquez sur "Base de données indexée"> Supprimer

Sous Windows, le fichier se trouve ici:

%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB

Sur Mac, procédez comme suit:

  1. Dans Chrome, allez dans "Paramètres" (ou "Préférences" dans le menu Chrome)
  2. Cliquez sur "afficher les paramètres avancés" (en bas de la page)
  3. Allez dans «Confidentialité»> «Paramètres de contenu»> «Tous les cookies et données du site»> recherchez le domaine dans lequel vous avez créé IndexedDB
  4. Appuyez sur le "X" ou cliquez sur "Base de données indexée"> Supprimer

Sur Mac, le dossier se trouve ici:

/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default/IndexedDB/

Sous Linux, le dossier se trouve à l'adresse:

/home/[USERNAME]/.config/google-chrome/Default/IndexedDB/

2
Chrome pour OS X n'a ​​pas d'élément de menu "Options" ou de référence à "Under the Hood", donc cela peut être un indice déroutant pour certaines personnes.
Mark Caufman

3
Sous OS X, vous pouvez y accéder via "Chrome> Effacer les données de navigation ...", fermez la boîte de dialogue puis allez dans "Paramètres avancés" au lieu de "Sous le capot". Après cela, c'est ~ comme ci-dessus.
natevw

56
Je pense qu'il est plus facile d'exécuter indexedDB.deleteDatabase ("databaseName") dans la console.
user854301

1
Sur OSX Chrome v31 étape: 1. Paramètres> Afficher les paramètres avancés ...> Confidentialité> Paramètres de contenu ...> Cookies> Tous les cookies et données du site ... 2. Recherchez pour filtrer votre adresse IP. 3. Cliquez sur Indexed database. 4. Retirez-le!
Amo Wu

Peut-être que c'est Chrome sous Linux ou peut-être une version plus récente, mais voici les étapes pour y arriver dans mon expérience: 1. Paramètres> Afficher les paramètres avancés ...> Paramètres de contenu> Tous les cookies et les données du site trouvent le domaine où vous avez créé le IndexedDB 2. Appuyez sur le "X" ou cliquez sur "Base de données indexée"> Supprimer
Software Prophets

160

J'ai réussi à exécuter les éléments suivants dans Chrome:

indexedDB.deleteDatabase('DB NAME')

14
Cela a continué à échouer pour moi, puis j'ai réalisé que je devais d'abord fermer la base de données. Dans mon gestionnaire de succès, je garde une référence pratique à la base de données (e.target.result) afin que je puisse appeler close () dessus. Ce n'est qu'alors que vous pouvez appeler deleteDatabase ('DB NAME'). Vous devrez également cliquer avec le bouton droit de la souris et utiliser 'refresh indexedDB' si vous êtes sur l'onglet des ressources des outils de développement de chrome pour voir le résultat de la suppression.
fullstacklife

Impossible de trouver le nom d'hôte de l'application Chrome, mais cela fonctionne lorsque vous inspectez l'application.
khany

29

Alternarive est de le faire dans la console des développeurs, en utilisant cette commande:

indexedDB.deleteDatabase("databaseName")

1
C'est le moyen le plus simple. Il vous suffit de faire un clic droit sur «IndexedDB» dans Ressources et de sélectionner «Actualiser IndexedDB» pour confirmer que la base de données a été zappée.
Velojet

10

Dans Chrome Webkit, vous pouvez utiliser webkitGetDatabaseNamesqui renvoie tous les noms de base de données

Avec ce code, vous pouvez supprimer tous les indexedDB locaux:

window.indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args)
{
    var r = sender.target.result;
    for(var i in r)
        indexedDB.deleteDatabase(r[i]);
}; 

5

Pour supprimer toutes les bases de données Chrome IndexedDB, exécutez ce qui suit 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.


Parce que j'ai besoin de purger très souvent les bases de données IndexedDB, j'ai mis en place un alias dans mon ~. / Bash_profile.

alias purge-idb="rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*"

3

Pour supprimer un IndexedDB de la version OS X de Chrome:

1) Dans Préférences, affichez 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 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 des cookies" pour rechercher le domaine qui est la source de l'IndexedDB.

4) Cliquez sur l'entrée de 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 détail déroulant de la base de données indexée.


2

Dans le répertoire Debian GNU / Linux

/home/[nom_utilisateur///.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/

contient des fichiers normaux (par exemple):

000003.log, COURANT, VERROUILLER, JOURNAL, MANIFESTE-000002


2

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 de contournement 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 deleteDatabaseméthode hors spécifications (mais incroyablement utile) sur l' window.indexedDBobjet. Voici le crbug qui a décroché ce patch. De plus, dans les nouvelles versions d'IE, vous pouvez supprimer des bases de données via un panneau de paramètres .


2

écrire ce segment de code dans la console

window.indexedDB.deleteDatabase(<your db name>)


2

Les outils de développement Chrome disposent désormais d'une option permettant de supprimer toutes les bases de données d'une application, sous "Application / Effacer le stockage".


2

Chrome -> Fenêtre Inspecteur -> Application -> regardez le menu de gauche -> Stockage -> IndexedDB


1

Afin de compléter la réponse de @ Judson, basée sur le commentaire de @ fullstacklife; pour supprimer IndexedDB dans Chrome en utilisant javascript, vous devez:

let currentIDB = indexedDB.open("DB_NAME", DB_VERSION_INTEGER);
    currentIDB.onblocked = function(){
        //
    };
    currentIDB.onerror = function(){
        //
    };
    currentIDB.onsuccess = function(){
        var idb = currentIDB.result;
        idb.close();
        indexedDB.deleteDatabase("DB_NAME");
    };

0

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.


0

Dans chrome OSX- / Users / user / Library / Application Support / Google / Chrome / Default / IndexedDB Firefox OSX - Users / user / Library / Application Support / Firefox / Profiles / 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 les fichiers utilisent le hachage, mais vous pouvez y trouver le nom de la base de données. 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.


0

Dans Windows, vous pouvez supprimer manuellement toutes les bases de données IndexedDB en localisant le répertoire IndexedDB pour le navigateur et en le supprimant

Pour Chrome:

C: \ Users \ nom-utilisateur \ AppData \ Local \ Google \ Chrome \ User Data \ Profile 1 \ IndexedDB

Vous pouvez supprimer tous les dossiers qui effacent la base de données indexée. Vous pouvez recommencer maintenant.


0

C'est peut-être exagéré pour votre question spécifique, mais je me suis retrouvé ici dans ma lutte pour supprimer mon idb.

Ma solution à la fin était basée sur la documentation de mozilla , mais exigeait 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");
};

0

J'avais besoin de me débarrasser d'une indexedDB dans Chrome. Je recherche donc cette chose moche appelée "assistant de messagerie" sur mon ordinateur en utilisant MasterSeeker. Trouvé la chose dans un tas de dossiers qui ont été indexésDB dans Chrome. Il me semblait trop facile de supprimer simplement ces fichiers. J'ai cherché comment et j'ai fini ici. Je suis allé aux paramètres de chrome avec mon PC 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 "assistant de messagerie" crapola. Maintenant, quand je regarde dans le dossier indexedDB, tout ce que je vois qui est réapparu est https_mail.google.com_0.indexeddb.leveldb - qui ressemble à une chose sûre et non irritante.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.