Come eliminare indexedDB in Chrome

Sto lavorando a un progetto che comporta l’uso di IndexedDB. Poiché sto iniziando a conoscere questa tecnologia, devo essere in grado di eliminare a mano un DB indicizzato in modo da poter ricominciare da capo.

Ho trovato il modo di farlo in Firefox, ma non riesco a trovare la strada per Google Chrome.

Ho provato a cancellare il contenuto di questa cartella (sto usando Mac):

{home}/Library/Application Support/Google/Chrome/Default/IndexedDB

ma sembra che Chrome stil abbia il db ovunque, quindi non posso ricominciare da capo.

    In teoria, tutto ciò che devi fare per eliminare un IndexedDB in Chrome è:

    1. In Chrome, seleziona Opzioni> Roba da smanettoni> Impostazioni contenuti> Tutti i cookie e Dati del sito> trova il dominio in cui hai creato IndexedDB
    2. Premi “X” o fai clic su “Database indicizzato”> Rimuovi

    In Windows, il file si trova qui:

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

    Su Mac, procedi nel seguente modo:

    1. In Chrome, vai su “Impostazioni” (o “Preferenze” nel menu Chrome)
    2. Fai clic su “mostra impostazioni avanzate” (in fondo alla pagina)
    3. Vai su “Privacy”> “Impostazioni contenuti”> “Tutti i cookie e i dati del sito”> trova il dominio in cui hai creato IndexedDB
    4. Premi “X” o fai clic su “Database indicizzato”> Rimuovi

    Su Mac, la cartella si trova qui:

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

    Su Linux, la cartella si trova in:

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

    Ho avuto successo eseguendo quanto segue in Chrome:

     indexedDB.deleteDatabase('DB NAME') 

    Alternarive è farlo nella console degli sviluppatori, usando questo comando:

     indexedDB.deleteDatabase("databaseName") 

    Nel webkitGetDatabaseNames Chrome è ansible utilizzare webkitGetDatabaseNames che restituisce tutti i nomi di database

    Con questo codice, puoi eliminare tutti i indexedDB locali:

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

    Per rimuovere tutti i database Chrome IndexedDB, eseguire quanto segue nell’emulatore di terminale OSX.

     rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/* 

    Ora riavvia il browser e il gioco è fatto.


    Poiché ho bisogno di eliminare i database IndexedDB molto spesso, ho impostato un alias nel mio ~. / Bash_profile.

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

    Per eliminare un IndexedDB dalla versione OS X di Chrome:

    1) In Preferenze, mostra Impostazioni avanzate quindi fai clic sul pulsante “Impostazioni contenuto” nella sezione “Privacy”.

    2) Nel popup “Impostazioni contenuto”, fai clic sul pulsante “Tutti i cookie e i dati del sito” nella sezione “Cookie”.

    3) Nella finestra popup “Cookie e dati del sito”, utilizzare la casella di testo “Cerca cookie” per cercare il dominio che è la fonte di IndexedDB.

    4) Fare clic sulla voce del dominio nell’elenco.

    5) Fare clic sul tag “database indicizzato” elencato sotto il dominio.

    6) Fare clic sul pulsante “Rimuovi” nel dettaglio a discesa per il database indicizzato.

    Nella directory di Debian GNU / Linux

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

    contiene file regolari (per esempio):

    000003.log, CORRENTE, BLOCCO, LOG, MANIFEST-000002

    Non è ansible eliminare il database IndexedDB (al contrario di negozi e indici) a livello di programmazione.

    Per quanto riguarda i workaround manuali, questo post descrive in dettaglio la posizione del database su sistemi Windows per Firefox e Chrome.

    Aggiornamento: grazie allo sviluppatore Joshua Bell, Chrome implementa un metodo deleteDatabase off-spec (ma insanamente utile) deleteDatabase window.indexedDB . Ecco il crbug che ha colpito questa patch. Inoltre, nelle versioni più recenti di IE, è ansible eliminare i database tramite un pannello delle impostazioni .

    Gli strumenti per gli sviluppatori di Chrome ora hanno un’opzione per eliminare tutti i database per un’app, in “Applicazione / Cancella memoria”.

    scrivi questo segmento di codice in console

    window.indexedDB.deleteDatabase()

    In Chrome 62

    1. Apri Settings
    2. Assicurati che l’interruttore Advanced sia aperto
    3. Fai clic su Content Settings
    4. Fare clic sui Cookies
    5. Fai clic su See all cookies and site data
    6. In alto a destra vedrai una search bar , digita il dominio che stai search bar (ad esempio localhost)
    7. Fare clic sulla voce dell’elenco
    8. Elimina i tuoi articoli

    Nota: immagina di avere due browser Chrome aperti, di averne eseguito l’accesso e di avviare l’altro da Visual Studio come parte del tuo processo di debug (ma non sei loggato in quello) … l’eliminazione dei dati IDB in uno non influirà l’altro.

    In alternativa, utilizza la tua applicazione web in una nuova finestra di navigazione in incognito e chiudila quando hai finito: database cancellato.

    In chrome OSX- / Users / user / Libreria / Application Support / Google / Chrome / Default / IndexedDB Firefox OSX – Utenti / utente / Libreria / Supporto applicazioni / Firefox / Profili / 4zaemxcn.default / indexedDB

    Hai solo bisogno di rendere visibile la cartella della biblioteca. Tutti i file sono archiviati in cartelle (che sono chiamate come nome di dominio) e i file usano hash, ma da esso si può ricavare il nome del database. È ansible cancellare i dati da IDB perché è un database lato client e tutti i dati sono memorizzati localmente.

    In Windows, puoi cancellare manualmente tutti i database IndexedDB localizzando la directory IndexedDB per il browser e cancellandola

    Per Chrome:

    C: \ Utenti \ nome utente \ AppData \ Local \ Google \ Chrome \ Dati utente \ Profilo 1 \ IndexedDB

    È ansible eliminare ogni cartella che cancella il file indexedDB. Puoi ricominciare da capo ora.

    Questo è forse eccessivo per la tua domanda specifica, ma ho continuato a finire qui nella mia lotta per cancellare il mio idb.

    La mia soluzione alla fine era basata sulla documentazione di mozilla , ma richiedevo di chiudere prima il database.

    Per me, in Javascript, il codice era simile a questo:

     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"); };