如何从chrome本地存储中保存和检索关联的数组

时间:2017-06-29 17:33:33

标签: javascript arrays google-chrome-extension

如何在Chrome本地存储中存储关联的数组,并以相同的格式检索它?我想保存" identityKeyPair",其格式为

  

identityKeyPair - > {pubKey:ArrayBuffer,privKey:ArrayBuffer}

我尝试了下面的事情。但没有成功。我在尝试检索它时遇到[Object Object]。

保存到本地存储空间

chrome.storage.sync.set({'identityKeyPair': JSON.stringify(identityKeyPair)}, function() {
          alert('identityKeyPair saved');
        });

尝试检索

chrome.storage.sync.get(["identityKeyPair"], function(items){
  if (items.identityKeyPair) {
alert(JSON.parse(items.identityKeyPair).pubKey);
  }

1 个答案:

答案 0 :(得分:-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应用程序中测试了这段代码。