Javascript 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扩展弹出窗口中输入的信息。但是,当我尝试使用
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)应该可以工作。