Soy nuevo en javascript y actualmente estoy tratando de escribir una extensión que rastree todas las URL visitadas por un usuario. Estoy investigando para un profesor y me dijeron que usara indexedDB para rastrear las URL. Sigo recibiendo el siguiente error:
Uncaught NotFoundError: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
A continuación se muestra mi código:::
let request = window.indexedDB.open("MyTestDatabase", 1), db, tx, store, index; request.onerror = function (e) { console.log("The database 'linkStorage' could not be opened"); }; request.onupgradeneeded = function (e) { let db = request.result, store = db.createObjectStore("webpage", { autoIncrement: true }), index = store.createIndex("link no.", "webpage", { unique: false }); }; request.onsuccess = function (e) { db = request.result; tx = db.transaction("webpage", "readwrite"); store = tx.objectStore("URL"); index = store.index("link no."); db.onerror = function (e) { console.log("ERROR" + e.target.errorCode); }; var link = location.href; store.put(link); tx.oncomplete = function () { db.close(); }; };¿Puede ayudarme alguien, por favor?
Probablemente creó la base de datos sin ejecutar su función onupgradeneeded. Nunca creó el almacén de objetos. Intente incrementar su versión y abrir la base de datos nuevamente. Si la tienda aún no está presente, no ha conectado correctamente el evento de actualización necesaria.