chrome.storage无法正常工作

时间:2016-08-12 18:09:20

标签: javascript google-chrome google-chrome-app

我有一个谷歌浏览器应用程序,我尝试使用chrome.storage.sync.get,它说,"无法读取未定义的属性同步"。有人可以告诉我发生了什么事吗?我尝试过复制并粘贴chrome开发者网站上的确切行。

代码字面意思是:

$(".thing").click(function() {chrome.storage.sync.set(stuff)}

据我所知,错误只是因为我试图在谷歌浏览器中使用chrome存储API而不是应用程序。

2 个答案:

答案 0 :(得分:3)

事实证明,我试图在谷歌浏览器(浏览器)中运行此功能,而不是Chrome应用。 Chrome不知道它应该将代码解析为应用,并忽略关于chrome.storage的行。值得注意的是,chrome开发人员!

答案 1 :(得分:1)

请在使用chrome.storage.sync

时按照以下步骤操作
  1. 在清单中声明存储权限。
  2. 的manifest.json

    {
      "manifest_version": 2,
    
      "name": "Storage",
      "description": "This extension shows a Google Image search result for the current page",
      "version": "1.0",
      "icons":{
    "256":"img/icon.png"
        },
      "permissions": [
        "storage"
      ],
      "app": {
        "launch": {
          "local_path": "options.html"
        }
    
      },
       "background": {
        "scripts": ["js/app/background.js"]
      }
    
    }
    
    1. chrome://extensions中重新加载您的应用,以便在浏览器中更新您的manifest.json。

    2. 遵循chrome.storage.sync及其回调函数的确切语法。

    3. Sample.js

      $(".thing").click(function() {
            chrome.storage.sync.set({"myKey": "testPrefs"},function(){
             alert("object stored");
      })
          chrome.storage.sync.get("myKey",function(obj){
              alert(obj.myKey);
          })
      });
      

      这对你有用。我在我的Chrome应用程序中测试了这段代码。

相关问题