我写了一个Chrome扩展程序。我不能用
localStorage.setItem
和localStorage.getItem
用于存储和检索,因为后台和浏览器操作在不同的环境[as seen here]中运行。
所以我决定使用Chrome存储空间API:
var storage = chrome.storage.local;
var myTestVar = 'somevar';
var obj = {};
obj[myTestVar] = $("#somevar").val();
storage.set(obj);
产生了以下错误:
未捕获的TypeError:无法读取未定义的属性“local”
我做错了什么?
答案 0 :(得分:10)
确保已在清单文件中声明所有必需的permissions。 "storage"
,在您的情况下。
通常,以下步骤应解决显然未定义的Chrome API问题:
chrome.storage
#manifest)。 chrome.storage
API也可以在内容脚本中使用)答案 1 :(得分:0)
如果您尝试将应用作为在 Chrome 中打开 HTML 文件的简单 HTML 页面运行,则会出现此错误。
在 Chrome 中正确添加应用程序(作为扩展程序)然后运行它。