2012-05-12 32 views

答えて

3

ターゲッティング「だけ」のIndexedDBはあなたを絞り込むます互換性のあるクライアントをchromeとfirefoxのユーザに提供します。 JayDataを見ると、フォールバックプロバイダリストのオプションを持つオブジェクトストアパターンがサポートされています。クライアントにIndexedDBがある場合は使用されますが、WebSQLのみの場合(クライアントの95%)、webSQLが使用されます。

また、構文は保存または取得する方がはるかに簡単です。ToDo list exampleを確認してください。これはフォールバックプロバイダオプションも示しています。

1

のIndexedDBオブジェクトストアは複数のオブジェクトを収容するように設計されたから

itemsDB.indexedDB.addTodo = function(Name, Desp) { 
    var db = itemsDB.indexedDB.db; 
    var trans = db.transaction(['items'], IDBTransaction.READ_WRITE); 
    var store = trans.objectStore("items"); 

    var data = { 
     "name": Name, 
     "description": Desp, 

    }; 

    var request = store.put(data); 
    } 

私が使用しているサンプルを、あなたはその属性上でカーソルましょう。

putの問題の原因は明確ではありませんが、キーがnameまたはdescriptionの場合、新しいオブジェクトを追加するのではなく、既存のオブジェクトを置き換えるだけです。 putの代わりにaddを使用します。

HTML5Rocksの例について覚えておいていただきたいことは、現在のところ、Chromeでのみ動作することです(これはたまたまIndexedDBの実装が遅れていることになります)。

FWIW、小さなチップがIE10で実行されているから、それを防ぐかもしれないここにあなたのJavaScriptでエラー(DespのVAR後の余分なコンマが)があることである。

var data = { 
     "name": Name, 
     "description": Desp, 

    }; 
関連する問題