msIndexedDBのIDBDatabaseのプロパティにプロトタイプ経由でアクセスできない?
IndexedDBを触っていてどうにもAPIが使いにくいのでラッパーを作ろうと思っているのですが、IEでなんかよくわからないエラーに出会ってしまいました。
たとえば、IDBDatabaseのnameプロパティにアクセスしたいのですが、直接アクセスはもちろんOK。でも、Object.createなどでプロトタイプに設定して子供?からアクセスすると「SCRIPT65535: オブジェクトの呼び出しが無効です」と言われてしまうのです。
var req = msIndexedDB.open("MyDB"); req.onsuccess = function(event) { var db = event.target.result; console.log(db.name); // OK: 「MyDB」と出力される var db2 = Object.create(db); console.log(db2.name); // ERROR: 「SCRIPT65535: オブジェクトの呼び出しが無効です」というエラーが発生する };
Chromeでは同様のコードが動くので、IEの問題かなぁ?(Chromeで動かす場合は、msIndexedDBをwebkitIndexedDBに変える必要ある)
直接はOKだけどプロトタイプチェインでの参照はNGって、不便すぎる。
Microsoft Connectにフィードバックしました。
https://connect.microsoft.com/IE/feedback/details/740085/indexeddb-idbdatabase