在chrome扩展程序的选项页面中,localStorage为null,因此无法使用 以下是解压扩展产生错误的文件。
{
"name": "someTest",
"version": "1.0",
"manifest_version": 2,
"description": "Not important",
"icons": {
"16": "icon16.png",
"48": "icon48.png"
},
"options_page": "options.html"
}
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Just a test</title>
</head>
<body>
<script src="options.js"></script>
</body>
</html>
console.log(localStorage);
访问选项页面,控制台输出null
。尝试使用localStorage['property']
更改或访问属性时,由于localStorage为null,因此会抛出错误。
我尝试了类似localStorage = {property: 'value'};
之类的东西,但是在localStorage仍然为null之后它没有改变任何东西。
我在Windows 8上使用chrome 28.0.1500.95。
修改:问题仍然存在。但是,我 - 暂时 - 使用替代方案,如果它可以帮助某人。我现在使用chrome存储。
以下是它的工作原理。
"permissions": ["storage"]
//You can also use an array of strings instead of 'property' to get multiple values.
chrome.storage.local.get('property', function(data)
{
if(!data.propery) return; //Not set
console.log(data.property);
});
chrome.storage.local.set({property: 'value'}, function()
{
console.log('saved');
});
//It can be used the same way directly in content scripts.
答案 0 :(得分:0)
您可以通过background page:
访问它chrome.runtime.getBackgroundPage(function(win) { console.log(win.localStorage.property); });
注意:我没有看到你看到的问题。我只是建议一个可能的解决方法。