Я использую Firefox 21. Я написал код ниже, чтобы отобразить содержимое хранилища объектов indexedDB при загрузке страницы.Индексированные событияDB не срабатывают
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB ||
window.msIndexedDB;
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction ||
window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange ||
window.msIDBKeyRange;
var request = window.indexedDB.open('mgDB', 1);
request.onerror = function(e) {
alert('error');
};
request.onupgradeneeded = function(e) {
alert('upgradeneeded');
};
request.onsuccess = function(e) {
alert('success');
};
Зная, что mgDB еще не существует, я ожидал, что обновленное событие будет запущено. Когда я отлаживал код с помощью Firebug, я вижу ошибку, onsuccess и onupgradeneeded с нулевыми значениями, поэтому ни одно из событий не запускается. Когда я выполняю код без режима отладки, я вижу, что событие успеха запускается. Кто-нибудь знает, почему это происходит?
Вы правы в необходимости удалить базу данных и начать заново, когда мне нужно протестировать. Позвольте мне подробнее рассказать о том, как я тестировал. Вчера, когда я начал тестировать, я несколько раз видел огонь по борьбе с терроризмом. Затем, прежде чем каждый раз, когда я тестировал, я удалил базу данных вручную и увидел, что событие onsuccess постоянно. Сегодня утром я снова тестировал, удалив базу данных вручную и очистив кеш Firefox + файлы cookie, и я видел, что события onupgradededed AND успешно срабатывают. –
Вот как это должно быть, если вы обновите, onupgradeneeded будет запущен первым. В этом вы можете редактировать структуру. Как только это будет сделано, открывается соединение с базой данных, и вы можете начать использовать его для чтения, вставки, удаления, ... данных. –