"Транзакция IndexedDB, которая еще не была завершена, была прервана из-за навигации по страницам",

Я использую IndexedDB для хранения некоторых данных. Он работает, но если обновить страницу, я вижу: An IndexedDB transaction that was not yet complete has been aborted due to page navigation. в консоли браузера Firefox (36.0.4). Я использую этот (локальный) файл для проверки:

<html>
  <head><meta charset="UTF-8"></head>
  <body>
    <script>
var request = window.indexedDB.open("test_db", 2);
request.onupgradeneeded = function (event) {
  request.result.createObjectStore("test_store");
};

request.onsuccess = function (event) {
  var db = request.result;
  var transaction = db.transaction(["test_store"], "readwrite");
  var put = transaction.objectStore("test_store").put("key", "value");
  transaction.oncomplete = function (event) {
    console.log("Transaction complete");
  };
};
    </script>
  </body>
</html>

Если я выполняю несколько транзакций, я получаю несколько ошибок. Если у меня есть обработчик onclick, который выполняет транзакцию, и я нажимаю ее несколько раз, обновление выводит одну ошибку для каждой транзакции, которую я сделал в прошлом.

Все это заставляет меня думать, что мои транзакции не очищаются. Что мне нужно сделать, чтобы завершить транзакцию?

Вызывается обработчик My oncomplete. Обновляясь несколько раз, консоль браузера выглядит следующим образом:

"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

Страница тестирования (Ctrl-Shift-J, чтобы открыть консоль, затем Ctrl-R для обновления показывает ошибку):

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