次のようなindexedDB関数を含むJSファイルがあります。
// Get all object stores from IndexedDB
mydb.indexedDB.getObjStores = function() {
var db = mydb.indexedDB.db;
return db.objectStoreNames;
};
この関数を別のJSファイルから呼び出します。ここでは、オブジェクトストアの名前を使用して、コンボにデータを入力するなどの操作を行う必要があります。
function doSomething(){
var arr = mydb.indexedDB.getObjStores();
for (var i=0; i<arr.length;i++) {
document.getElementById('mycombo').options[i] = new Option (arr[i], i);
}
}
ブラウザによっては、配列の長さを取得できますが、コンボは空です(奇妙な)。問題は私を殺している非同期のことだと思います...addEventListenerのようなものを使用するのは良い考えだと思いました(indexedDBで接続を開いたことはいつわかりますか?)が、このindexedDB呼び出しには成功イベントがありません。ChromeとFirefoxでは正常に動作しますが、PDAブラウザでは動作しません。たとえば、これを待つにはどうすればよいですか。それが問題ですか?
ありがとうございました!