Показать сообщение отдельно
  #1 (permalink)  
Старый 09.04.2012, 01:13
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Вопросы по IndexedDB
Увидел статью на хабре про индекседДБ, вот теперь пытаюсь разобраться, но после работы с php+mysql как-то не очень привычно. Прошу помощи, т.к. сам ответов не нашёл.

1. что за версия бд ( я про db.setVersion('версия') ) ? Для чего её устанавливать?

2. где в Хроме и ФФ посмотреть содержимое бд?

3. для чего нужны:
db.objectStoreNames; и db.objectStoreNames.contains('chat');
contains('chat') проверяет существование объекта в бд?

4. за что отвечает второй аргумент в методах put и add?

5. Помогите освоить всё это..
Написал код, основываясь на данных из этой статьи http://habrahabr.ru/post/117473/ , но он, естественно, не работает.

var indexedDB = window.webkitIndexedDB || window.mozIndexedDB || window.indexedDB;
  var request = indexedDB.open("name","description");
  request.onsuccess = function(e) {
    var v = "1.0";
    var db = e.target.result;
    if(db.version == '' || db.version != v) {
      //бд не существует
      var setV = db.setVersion(v);
      setV.onsuccess = function(e) {
        var db = e.target.transaction.db;
        if (!db.objectStoreNames.contains('chat')) {
          //объект для хранения записей из чата
          co=db.createObjectStore('chat','id');
          var idbObjectsWait=true;
          while (idbObjectsWait) {
            idbObjectsWait =! (db.objectStoreNames.contains('chat'));
          };

          var t = indexedDB.transaction(['chat'], idbConst.WRITE);
          var s = t.objectStore('chat');
          s.put({'name':'myMessage'},1);
        }
      };
    }
  };
  request.onerror = function() {
    alert('error');
  };
Ответить с цитированием