setVersion を使用して次のコードを chrome で動作させようとしています (onupgradeneeded はまだ利用できないため)。
IDBVersionChangeRequest は IDBDatabaseException で満たされます。また、onsuccess 関数を呼び出すことができませんでした。onsuccess 関数内に ObjectStore を作成する必要があります。
具体的には次の行: request = browserDatabase._db.setVersion(browserDatabase._dbVersion.toString());
以下は私のコードです。どんな助けでも大歓迎です...
browserDatabase._db = null;
browserDatabase._dbVersion = 4;
browserDatabase._dbName = "mediaStorageDB";
browserDatabase._storeName = "myStore";
var request = indexedDB.open(browserDatabase._dbName);
// database exist
request.onsuccess = function(e)
{
browserDatabase._db = e.target.result;
// this is specifically for chrome, because it does not support onupgradeneeded
if (browserDatabase._dbVersion != browserDatabase._db.version)
{
request = browserDatabase._db.setVersion(browserDatabase._dbVersion.toString());
request.onerror = function(e) { alert("error") };
request.onblocked = function(e)
{
b = 11; // for some reason the code goes here...
}
request.onsuccess = function(e)
{
browserDatabase._db.createObjectStore(browserDatabase._storeName, {autoIncrement: true});
}
}
}