0
我製作了一個Web應用程序,它調用兩個indexeddb數據庫,當單擊按鈕時它會保存一個值並轉到另一頁。IndexedDB函數在英特爾XDK中不起作用
它作爲一個完美的web應用程序,但當我嘗試使用它與英特爾XDK它顯示在控制檯中:「Uncaught TypeError:無法設置屬性'varBusquedaPAM'未定義」。這是JavaScript:
var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
var dataBase = null;
var bdBusqueda = null;
function iniciarBD() {
dataBase = indexedDB.open('bdbeta', 4);
dataBase.onupgradeneeded = function (e) {
var active = dataBase.result;
var objetoProductos = active.createObjectStore("productos", {keyPath: 'id', autoIncrement: true});
objetoProductos.createIndex('Nombre_Producto', 'producto', {unique: true});
};
dataBase.onsuccess = function (e) {
varBusqueda();
};
dataBase.onerror = function (e) {
alert('Error al cargar la base de datos');
};
}
function varBusqueda() {
bdBusqueda= indexedDB.open('bdbeta2', 1);
bdBusqueda.onupgradeneeded = function (e) {
var active = bdBusqueda.result;
var objetoLista = active.createObjectStore("variableBusqueda", {keyPath: 'id', autoIncrement: true});
objetoLista.createIndex('Variable_de_Busqueda_Producto', 'varBusquedaPAM', {unique: true});
objetoLista.createIndex('Variable_de_Busqueda_Marca', 'varBusquedaMAM', {unique: true});
objetoLista.createIndex('Variable_de_Busqueda_Modelo', 'varBusquedaMAI', {unique: true});
};
bdBusqueda.onsuccess = function (e) {
//Do nothing
};
bdBusqueda.onerror = function (e) {
alert("Hubo un problema al conectar a la base de datos");
};
}
function irMarcas(id){
var active = bdBusqueda.result;
var data = active.transaction(["variableBusqueda"], "readwrite");
var object = data.objectStore("variableBusqueda");
var request = object.get(1);
request.onsuccess = function() {
var data = request.result;
data.varBusquedaPAM = id; // <---HERE IS WHERE THE ERROR IS SHOWN
var consultaActualizar = object.put(data);
consultaActualizar.onsuccess = function() {
window.location.href = "marca.html";
};
};
}
我調用函數 「irMarcas(ID)」 形成這個HTML標籤:
<input type="button" id="TM" value="Tarjetas madre" onclick="irMarcas(this.id);">
我的確在具有相同功能的過去的一些類似項目(IndexedDB的)我從來沒有得到過這個錯誤。以防萬一我的英特爾XDK版本是3088.
我忘了什麼嗎?
謝謝大家。
謝謝,這意味着我以前的數據(我作爲一個webapp測試)已經沒有了? –
數據可能不再存在的原因有幾個。您可能會以某種方式刪除它,或者允許將其刪除。或者,您可能會連接到您從未插入數據的數據庫,例如來自不同來源的數據庫。 – Josh