Sto sviluppando un componente aggiuntivo di Firefox con alcuni script di contenuto per salvare i dati in IndexedDB. Lo stesso codice funziona perfettamente nell'estensione di Chrome, ma non nell'estensione di Firefox. Su Firefox tutto funziona fino alla parte in cui i dati devono essere scritti nel database.Lo script di contenuto del componente aggiuntivo di Firefox non scrive in IndexedDB
index.js
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
var { indexedDB } = require('sdk/indexed-db');
var request = indexedDB.open("myDatabase");
request.onerror = function(event) {
console.log("Failure.");
};
request.onsuccess = function(event) {
console.log("Success.");
};
pageMod.PageMod({
include: "*",
contentScriptWhen: "start",
//contentScriptFile: ["./js/jquery.min.js", "./js/jquery-ui.min.js", "./js/Dexie.min.js", "./js/content-script.js"]
contentScriptFile: [data.url("js/jquery.min.js"), data.url("js/content-script.js"), data.url("js/jquery-ui.min.js"), data.url("js/Dexie.min.js")],
contentStyleFile: [data.url("css/jquery-ui.min.css")]
});
content-script.js // parte in cui non funziona in Firefox
function transition(location, time, date) {
var db = new Dexie("myDatabase");
db.version(1).stores({
likes: 'url, date, time'
});
db.open();
db.likes.add({url: location, date: date, time: time}).then (function(){
alert("Informations are added.");
}).catch(function(error) {
alert("There's an error: " + error);
});
}
ho controllato Storage Inspector Inoltre, nulla viene aggiunto al database. Ancora un dettaglio: penso che il problema potrebbe essere causato dal caricamento di script perché ho definito all'inizio di content-script.js di caricare tutto quando DOM è pronto (forse, ma non sono sicuro che sia causato da questo, ho provato " avviare "," pronto "e" fine "in contentScriptWhen parametro).
document.addEventListener("DOMContentLoaded", function(event) {
Tutto in content-script.js è all'interno di questo listener di eventi.
cosa si ottiene eventuali errori nella console di strumenti di sviluppo? Stai usando l'estensione JPM o WebExtensions in firefox? –
@JaromandaX No, il che è strano, non ho alcun errore relativo a ciò nella console. Sto usando JPM. – Nikola