突然,我的IndexedDB打开请求回调都没有被调用



在过去的3个月里,我有相同的(工作)代码打开我的各种Indexeddb数据库。

今天早上,他们刚刚停止工作。来自window.indexeddb.open()请求的任何回调都不会被调用。他们过去是这样的!

request = window.indexedDB.open(dbName, 1);
request.onblocked = function(e) {
   console.log("onblocked");
};
request.onupgradeneeded = function(e) {
    console.log("onupgradeneeded");
};
request.onsuccess = function(e) {
    console.log("onsuccess");
};
request.onerror = function(e) {
    console.log("onerror");
};

我尝试过不同的db版本,完全清除我的浏览器的IndexedDB数据,隐身浏览器,几乎所有我能想到的。同样的行为每次都会发生——控制台中没有错误,db永远不会打开,也不会调用任何回调。

这可能是Chrome更新导致的吗?有人有过这样的经历吗?

我发现了一个类似的问题,但它是在2012年:https://groups.google.com/a/chromium.org/forum/#!味精/chromium-html5/QvjsPbBdP4M/lK5UcnbkXhMJ

我对这个有点疯狂,希望你能给我一些建议。

这恰好是一个Cordova/Ionic应用程序,当相同的代码加载到Android设备上时,数据库按预期打开,这告诉我这是我的Mac上的Chrome版本非常具体的东西:版本45.0.2454.85(64位)

我不得不从我的电脑上完全卸载Google Chrome。重新安装后,一切又恢复正常。我一点也不知道我的浏览器进入了什么奇怪的、不稳定的状态,但是完全重新开始解决了这个问题。

最新更新