javascript - IndexedDB.open callbacks not called on Chrome -


i trying use indexeddb, , working well, until few hours ago when .open() callbacks stopped being called on chrome (tested on safari , worked fine).

rt.prototype.setupindexeddb = function (callback) {   var dbname = "test";   var dbversion = 1;   var indexeddb = window.indexeddb ||                   window.webkitindexeddb ||                   window.mozindexeddb;    console.log("setup indexed db");   var request = indexeddb.open(dbname, dbversion);   request.onsuccess = function(e) {     console.log("db request success");   };    request.onblocked = function(e) {     console.log("db open blocked", e);   };    request.onerror = function(err) {     console.log("error", err);   };    request.onversionchange = function(err) {     console.log("onversionchange", err);   };    request.onupgradeneeded = function(e) {     console.log("upgrade needed");   }; }; 

i looked chrome developer tools indexeddb , nothing there...

anyone has idea on what's happening?

thank you

edit: restarting browser did trick, i'm still interested in knowing happened.

were experimenting deleting database around same time? indexeddb can weird (though correct, according spec) state if there's blocked pending deletedatabase operation. e.g. code below. if else fails can check chrome://indexeddb-internals, tell if there pending open or delete operations mucking things up.

var request = indexeddb.open("test", 1); request.onblocked = function(e) {   console.log("db open blocked", e); };  request.onerror = function(err) {   console.log("db open error", err); };  request.onupgradeneeded = function(e) {   console.log("db open upgrade needed"); };  request.onsuccess = function(e) {   db = request.result;   console.log("db open success");   db.onversionchange = function(e) {     console.log("db got versionchange event")   }   request = indexeddb.deletedatabase("test");   request.onsuccess = function(e) {     console.log("delete success not called")   }   request.onblocked = function(e) {     console.log("delete blocked");     request = indexeddb.open("test", 1);     request.onsuccess = function(e) {       console.log("success won't called");     };     request.onblocked = function(e) {       console.log("blocked won't called", e);     };     request.onerror = function(err) {       console.log("error won't called", err);     };     request.onupgradeneeded = function(e) {       console.log("upgradeneeded won't called");     };   }; }; 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -