chrome扩展存储api语法

时间:2018-02-10 23:39:08

标签: google-chrome-extension

chrome.storage.sync.set({'overlayColor': color});                        

var get = chrome.storage.sync.get('overlayColor',function());

为什么我得到"未捕获的SyntaxError:意外的令牌)"对于第二行??

顺便说一句,如果我在get函数中删除了回调函数,则错误变为:

extensions :: StorageArea:35未捕获错误:表单get(string)的调用不匹配定义get(可选字符串或数组或对象键,函数回调)     在normalizeArgumentsAndValidate(extensions :: schemaUtils:115:11)     在StorageArea.self。(匿名函数)[as get](extensions :: StorageArea:35:14)     在HTMLInputElement.changeOverlayColor(chrome-extension://neihdeocppgagfakakclajlmbgognbbc/option.js:9:35)     at Object.fireEvent(chrome-extension://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:240:7)     at Object.dispatchChange(chrome-extension://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:675:9)     在HTMLDocument。 (铬 - 延伸://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:667:8)

2 个答案:

答案 0 :(得分:0)

该功能缺少花括号。您需要将function()替换为function() {}

var get = chrome.storage.sync.get('overlayColor',function() {});

该函数不返回数据,因此您不想将结果存储在变量中,而是需要在回调中放置需要值的逻辑

chrome.storage.sync.get('overlayColor',function(data) {
  // use data here
});

答案 1 :(得分:0)

未正确声明功能。正确的语法如下:

chrome.storage.sync.get('overlayColor', function (result) {
    var get = result.overlayColor;
});