Ich benutze IndexedDB in einer Windows 8 App und ich bin sehr neu in beiden. Ich konnte erfolgreich Objekte aus Objektspeichern erstellen, lesen, aktualisieren, löschen und habe einige Datenbanken und einige Objektspeicher erstellt. Meine Frage ist, wie kann ich alle meine Objektspeicher und Datenbanken auflisten? Ich erstelle ein paar falsche, die nicht benötigt werden, und ich möchte die Dinge ein wenig aufräumen, aber ich kann mich nicht erinnern, wie sie benannt sind. Vielleicht ist das analen Remanenz, aber es scheint, als ob es möglich sein sollte, alle Datenbanken und Geschäfte aufzulisten. Vielen Dank!IndexedDB Alle Datenbanken und Objekt Stores anzeigen
Antwort
Es gibt derzeit keine Möglichkeit, die bestehenden Datenbanken im standard aufzuzählen. Windows 8-Apps verwenden den IE, der die nicht standardmäßige webkitGetDatabaseNames
-Methode nicht bereitstellt. Möglicherweise können Sie die Datenbanken mit der options dialog in IE10 löschen.
Die Auflistung der Speicher in einer Datenbank wird im Standard unter Verwendung der objectStoreNames-Methode einer IDBDatabase Instanz definiert.
In Chrome WebKit es eine Funktion war, die alle Datenbanknamen zurückkehren würde, ist diese Funktion nicht mehr zur Verfügung als von Chrome 60 (webkitgetdatabasenames):
indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args)
{ console.log(sender.target.result); };
Und es ist eine weitere Funktion, die alle Objekt speichert Liste in eine einzige Datenbank, die in allen Browsern:
indexedDB.open(databaseName).onsuccess = function(sender, args)
{ console.log(sender.target.result.objectStoreNames); };
['webkitGetDatabaseNames()' ist in Chrom 60 veraltet] (https://developers.google.com/web/updates/2017/06/chrome-60-deprecations#remove_indexeddbwebkitgetdatabasernames) –
- 1. Was ist der Unterschied zwischen Triple-Stores und Graph-Datenbanken?
- 2. IndexedDB - ObjectStores vs mehrere Datenbanken vs Indizes?
- 3. Alle Namen von Datenbanken anzeigen, die bestimmte Tabelle enthalten
- 4. SQL Server - erhalten alle Datenbanken und Dateien
- 5. Indexeddb: Unterschiede zwischen onsuccess und oncomplete?
- 6. HTML5 indexedDB und Persistenz Lebenszeit
- 7. Synchronisation zwischen mysql und IndexedDB
- 8. JavaScript - ein Link, alle App-Stores, nicht von Safari erkannt
- 9. Wie Redux Stores und Aktionen entwerfen?
- 10. Wie kann ich alle Datenbanken in Mysql und Foreach Datenbank zeigen Zeige alle Tabellen in PHP
- 11. Android - SQLite-Datenbanken auf dem Gerät anzeigen?
- 12. Indexing Array-Werte in einem Objekt in einem IndexedDB
- 13. Durchsuchen des Google Play Stores
- 14. Datenbanken und Python
- 15. Master- und Slave-Datenbanken
- 16. findOne in indexedDB
- 17. Google-Kartenmarker in indexedDB speichern?
- 18. Symfony2 & Twig: Alle Felder und Schlüssel anzeigen
- 19. Abrufen und Anzeigen von Json-Objekt * ngFor
- 20. Wo sind alle nativen revisionierten Datenbanken?
- 21. pgAdmin 9.5 zeigt nicht alle Datenbanken
- 22. MySQL Update Abfragen verlangsamt über alle Datenbanken
- 23. Primärschlüssel Problem bei iOS8-Implementierung von IndexedDb
- 24. Extjs4 Combos und Stores: Filter entfernen, wenn queryMode = local?
- 25. Wie lösche ich alle Datenbanken auf Postgres?
- 26. Ansible - Wie sichert man alle MySQL-Datenbanken?
- 27. Column = „TEXT“ für alle Arten von Datenbanken
- 28. SQLAlchemy und mehrere Datenbanken
- 29. Wordpress Alle Beiträge anzeigen
- 30. indexeddb Implementierung in angularjs2
Richtig, und ich denke, es würde gefährlich, eine getDatabaseNames-Methode zu haben. Auf diese Weise hätten Hacker die Möglichkeit, einfach nach auf den Clients vorhandenen dbs zu suchen. –
@KristofDegrave Nein, das ist kein Problem, weil Sie keinen domainübergreifenden Zugriff auf eine indexedDB durchführen können. – user1133275
@ user1133275 Die Richtlinie für denselben Ursprung schützt Sie nicht unbedingt vor einem Angreifer, der über XSS darauf zugreifen kann. Wenn sie ein Skript über eine SQL-Injektion in Ihre Seite einfügen, wird ihr Skript lokal auf der Seite ausgeführt und kann darauf zugreifen und diese Informationen an anderer Stelle senden. –