【问题标题】:chrome extension storage api syntaxchrome扩展存储api语法
【发布时间】:2018-02-12 17:42:50
【问题描述】:
chrome.storage.sync.set({'overlayColor': color});                        

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

为什么我在第二行得到“Uncaught SyntaxError: Unexpected token )”??

顺便说一下,如果我把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) 在 Object.fireEvent (chrome-extension://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:240:7) 在 Object.dispatchChange (chrome-extension://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:675:9) 在 HTML 文档。 (chrome-extension://neihdeocppgagfakakclajlmbgognbbc/jscolor.js:667:8)

【问题讨论】:

    标签: google-chrome-extension


    【解决方案1】:

    函数缺少花括号。您需要将function() 替换为function() {}

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

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

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

    【讨论】:

      【解决方案2】:

      函数未正确声明。正确的语法如下:

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

      【讨论】:

        猜你喜欢
        • 2012-12-06
        • 1970-01-01
        • 2012-11-10
        • 2011-05-12
        • 2018-05-30
        • 2013-01-10
        • 2013-04-24
        • 2012-06-29
        • 1970-01-01
        相关资源
        最近更新 更多