Javascript Chrome同步存储不工作。我做错了什么?
我试图保存一些用户在chrome扩展弹出窗口中输入的信息。但是,当我尝试使用Javascript Chrome同步存储不工作。我做错了什么?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我试图保存一些用户在chrome扩展弹出窗口中输入的信息。但是,当我尝试使用chrome.storage.sync.set保存数据时,回调从未发生。我不知道为什么它不节省 function saveNotebook () { myNotebook.lastVisited = Date.now(); var jsonfile = {}; jsonfile[notebookURL] = myNotebook; // jsonfile[notebookURL] = JS
chrome.storage.sync.set
保存数据时,回调从未发生。我不知道为什么它不节省
function saveNotebook () {
myNotebook.lastVisited = Date.now();
var jsonfile = {};
jsonfile[notebookURL] = myNotebook;
// jsonfile[notebookURL] = JSON.stringify(myNotebook);
chrome.storage.sync.set(jsonfile, function () {
if (chrome.extension.lastError) {
background.console.log('An error occurred: ' + chrome.extension.lastError.message);
}
background.console.log("Storing jsonfile: ", jsonfile);
background.console.log("Url for storage: ", notebookURL);
});
}
function getAllNotesForSite(notebookURL){
background.console.log("Retrieving storage for url: ",notebookURL);
chrome.storage.sync.get(notebookURL, function (noteBook){
background.console.log("Notebook Contents: ", noteBook);
if (Object.keys(noteBook).length === 0){
background.console.log("Notebook is empty");
myNotebook = {
lastVisited: "",
notes: {}
}
var date = new Date();
var noteId = "" + (date.getMonth()+1) +"/"+ (date.getDate());
createNewNote(noteId);
currentNoteId = noteId;
}else {
myNotebook = noteBook;
document.getElementById("last-visited").textValue = myNotebook.lastVisited;
for (var note in myNotebook.notes){
createNewNote(note.dateCreated);
}
}
});
}
console是我的背景页面(我认为它是合法的)。
这是我的manifest.json
{
"manifest_version": 2,
"name": "WebNotes",
"version": "1.0",
"description": "Annotate specific webpages or domains for later visits",
/*"icons": { "128": "icon_128.png" },*/
"background": {
"persistent": false,
"scripts": ["bg.js"]
},
"permissions": [
"activeTab",
"storage"
],
"browser_action": {
"default_title": "WebNotes",
/*"default_icon": "icon_19.png",*/
"default_popup": "popup.html"
}
}
什么是
后台控制台
?你的manifest.json是什么?有任何错误信息吗?@Haibarai我没有收到任何错误。chrome.storage.sync.set的回调永远不会被调用。@p1g1n什么是background.console.log
?请添加该函数的代码1-如何定义myNotebook?还有notebookURL?2-您通常调用该函数吗?怎么用?3-删除background.console.log行中的背景。如果所有值都定义正确,则函数(saveNotebook)应该可以工作。什么是后台控制台
?你的manifest.json是什么?有任何错误信息吗?@Haibarai我没有收到任何错误。chrome.storage.sync.set的回调永远不会被调用。@p1g1n什么是background.console.log
?请添加该函数的代码1-如何定义myNotebook?还有notebookURL?2-您通常调用该函数吗?怎么用?3-删除background.console.log行中的背景。如果所有值都定义正确,则函数(saveNotebook)应该可以工作。