var db;
var version = 1;
var request = indexedDB.open("myDB", version);
request.onsuccess(function(e) {db = e.target.result;});
// db.close(); //??? happens async and has no callback
var request2 = indexedDB.open("myDB", ++version);
request.onsuccess = function() { console.log("success"); };
request.onerror = function() { console.log("error"); }; // called if db existed when page was loaded
request.onblocked = function(){console.log("blocked");}; // called on init creation
request.onupgradeneeded = function(){console.log("onupgradeneeded");};
私はdbを開いて、オブジェクトストアを読み込んで、dbを変更できるようにする必要があります。 1ページに1回だけDB構造を変更できるようです。indexedDBデータベースをfirefoxで開いた後で、その構造を変更することはできますか?
廃止予定のsetVersionメソッドを使用すると、これはChromeでうまく動作します。
request.onblocked = function(){db.close(); }; このコンテキストでcloseを呼び出すと、onupgradeneededイベントが発生します。誰かが自分の髪を抜くのを救うはずです。 – anonymous