2013-11-12 4 views
0

Каков метод, доступный для проверки того, требуется ли клиенту IndexedDb или нет? Это для пользователей, которые уже существующую локальную памятьПроверка обновления существующего Indexdb на более новую версию

var idx_db = null; 
var dbRequest = window.indexedDB.open(“ExampleDB”); 
    dbRequest.onerror = function (evt) { 
    alert(“Db error: “ + evt.target.error.name); 
} 
    dbRequest.onsuccess = function (evt) { 
    idx_db = evt.target.result; 
} 

ответ

0

удалось выяснить из HTML5-IndexedDB книги. Задайте номер версии, который больше текущей версии базы данных базы данных, которая вызовет обработчик события onupgradeneeded.

var dbRequest = window.indexedDB.open(“ExampleDB”, 2); 
dbRequest.onupgradeneeded = function (evt) { 
if (evt.oldVersion < 1) { 
     // create objects for version 1 
} 
    // other version upgrade paths 
} 
2

Вам ничего не нужно проверять. Единственное, что вам нужно сделать, это открытие индексированной с нужной версией, как:

var db = window.indexedDB.open("db", 3); 

Если обновление необходимо, то onupgradeneeded обратного вызова будет вызвана. Если база данных уже установлена ​​в текущей версии, будет вызван только обратный вызов успеха.

Внутри обратного вызова onupgradeded вы можете проверить, что такое oldversion базы данных. С помощью этого вы можете выбрать путь обновления, который необходим.

Смежные вопросы