2012-02-22 6 views
2

FirefoxとChromeの両方でhtml5仕様のIndexedDB APIを使用しています。ChromeでIndexedDB onversionchangeイベントが発生しない

私はそれが私のせいかブラウザのバグかどうかわからないので、私は期待どおりに動かないものがあり、ここでそれを共有したいことがあります。

APIによると、ローカルデータベースへの接続を開き、使用するバージョン番号がデータベース1よりも大きい場合に解雇だ onversionchange というイベントがあります。 私の問題は、Firefoxではこのイベントが発生していて、Chromeでは発生していないことです。

いくつかのモードをしようといくつかのサンプルコード:

var db; 
var DB_VERSION = 5; 
var openRequest = iDb.open("test_db", DB_VERSION, function() { 
    console.log("This is the place where I can change db structure"); 
}); 
openRequest.onSuccess = function(event) { 
    db = openRequest.result; 
}; 
openRequest.onversionchange = function(event) { 
    console.log("This is the place where I can change db structure"); 
}; 
openRequest.onupgradeneeded = function(event) { 
    console.log("This is the place where I can change db structure"); 
}; 

私は、バージョン番号を変更してもonversionchageイベントが発生していません。

ebidelが答えたとして、クロームimplementatioが現在そう仕様に従っていませんUPDATE 、クロスbroswserクライアントコードを持っているために、我々は二つの状況対処する必要があります。 onversionchangeイベントとデータベースを。バージョンマニュアル比較。ここで

は、コード例とのリンクのカップルです: Chromium google groupHTML5 Rocks!

答えて

3

ChromeののIndexedDB実装はかなりonversionchange/onupgradeneededより古いsetVersionコールを使用しています仕様の古いバージョンをオフに基づいています。この問題にスターを付けてください:http://crbug.com/108223

関連する問題