Google Chrome扩展程序 - 本地存储设置和获取

时间:2017-06-08 09:24:16

标签: javascript java jquery google-chrome

我正在为Google Chrome开发扩展程序,但遇到了一些麻烦。我创建了一个options.html页面并将其添加到manifest.json文件中。页面显示正确。

此外,我需要将填充的数据保存在本地存储中,我无法继续进行

您能帮助我通过set和get

获取执行本地存储的代码

enter image description here [输入表格2

清单

{
   "background": {
      "scripts": [ "background.js" ]
   },
   "browser_action": {
      "default_icon": "t19.png"
   },
   "description": "Fill out web forms instantly with junk or custom data",
   "icons": {
      "128": "t128.png",
      "48": "t48.png"
   },

   "manifest_version": 2,
   "name": "Tatkal on budget style",
   "options_page": "entry_form.html",
   "permissions": [ "storage",  "tabs", "http://*/*", "https://*/*" ],
   "version": "1.0"
}`enter code here`


Background

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.create({'url': chrome.extension.getURL('entry_form.html')}, function(tab) {
    // Tab opened.
  });
});

期待拥有本地存储的代码

1 个答案:

答案 0 :(得分:0)

Chrome扩展程序不支持localstorage。您必须使用chrome.storage.sync(跨设备同步用户数据)或chrome.storage.local(当前Chrome实例的本地数据)。 假设您要保存一个名为name的字段,其值为John。 Localstorage:

localstorage.setItem('name', 'Jogn');

Chrome扩展程序

var obj = {
    name:'Jogn'
}
chrome.storage.sync.set(obj, function () {
    //success callback
});

获取存储的名称:

var keys = ['name'];
chrome.storage.sync.get(key, function (result) {
    // the received result  field will be an object
    console.log(result.name);
});