2015-03-24 8 views
12

Ich verwende IndexedDB, um einige Daten zu speichern. Es scheint zu funktionieren, aber wenn ich die Seite aktualisiere, sehe ich: An IndexedDB transaction that was not yet complete has been aborted due to page navigation. in der Browser-Konsole in Firefox (36.0.4). Ich verwende diese (lokale) Datei zum Testen:"Eine IndexedDB-Transaktion, die noch nicht abgeschlossen wurde, wurde aufgrund der Seitennavigation abgebrochen."

Wenn ich mehrere Transaktionen ausführen, erhalte ich mehrere Fehler. Wenn ich einen onclick-Handler habe, der eine Transaktion durchführt, und ich mehrmals darauf klicke, wird bei der Aktualisierung ein Fehler für jede Transaktion ausgegeben, die ich in der Vergangenheit gemacht habe.

All dies lässt mich denken, dass meine Transaktionen nicht aufgeräumt werden. Was muss ich tun, um eine Transaktion abzuschließen?

Mein Handler oncomplete wird aufgerufen. Erfrischende ein paar Mal, sucht der Browser-Konsole wie folgt aus:

"Transaction complete" test.html:16:1 
An IndexedDB transaction that was not yet complete has been aborted due to page navigation. test.html:13:0 
"Transaction complete" test.html:16:1 
An IndexedDB transaction that was not yet complete has been aborted due to page navigation. test.html:13:0 
"Transaction complete" test.html:16:1 

Testseite (Ctrl-Shift-J-Konsole zu öffnen, dann Ctrl-R zu aktualisieren zeigt den Fehler):

http://test.roscidus.com/static/idb.html

+0

Wenn Ihr "onComplete" fixed feuert dann scheint IndexedDB zu glauben Transaktion abgeschlossen ist. Tritt dies sofort auf, nachdem Sie den Browser-Cache gelöscht haben? –

+0

Könnten Sie eine Webseite erstellen, um Ihr Problem zu reproduzieren? Es könnte sich um einen Browser-Fehler handeln. –

+0

@KyawTun Ich habe einen Link zu einer Testseite am Ende der Frage hinzugefügt. Ich habe mit einem neuen Firefox-Profil getestet. –

Antwort

Verwandte Themen