Tôi đang phát triển tiện ích bổ sung Firefox có một số tập lệnh nội dung để lưu dữ liệu vào IndexedDB. Cùng một mã hoạt động hoàn toàn tốt trong phần mở rộng của Chrome, nhưng không hoạt động trong phần mở rộng của Firefox. Trên Firefox mọi thứ hoạt động tốt cho đến khi phần dữ liệu phải được ghi vào cơ sở dữ liệu.Kịch bản nội dung từ tiện ích bổ sung của Firefox không ghi vào 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")]
});
nội dung script.js // phần mà nó không hoạt động trong 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);
});
}
Tôi đã kiểm tra trong lưu trữ Thanh tra quá, không có gì được thêm vào cơ sở dữ liệu. Một chi tiết khác: Tôi nghĩ rằng vấn đề có thể do tải tập lệnh bởi vì tôi đã xác định khi bắt đầu content-script.js để tải mọi thứ khi DOM sẵn sàng (có thể, nhưng tôi không chắc liệu nó có gây ra bởi điều đó không, tôi đã thử " bắt đầu "," sẵn sàng "và" kết thúc "trong tham số contentScriptKhi thông số).
document.addEventListener("DOMContentLoaded", function(event) {
Mọi thứ trong nội dung script.js là bên lắng nghe sự kiện này.
nào bạn nhận được bất kỳ lỗi nào trong các công cụ phát triển console? Bạn có đang sử dụng phần mở rộng JPM hoặc WebExtensions trong firefox không? –
@ JaromandaX Không, điều lạ lùng quá, tôi không gặp bất kỳ lỗi nào liên quan đến điều này trong bảng điều khiển. Tôi đang sử dụng JPM. – Nikola