gpt4 book ai didi

javascript - 选项页面上的 localStorage 为空

转载 作者:行者123 更新时间:2023-11-30 06:29:59 27 4
gpt4 key购买 nike

在chrome扩展的选项页面,localStorage为null,不能使用。
以下是解压扩展产生错误的文件。

list .json

{
"name": "someTest",
"version": "1.0",
"manifest_version": 2,
"description": "Not important",
"icons": {
"16": "icon16.png",
"48": "icon48.png"
},
"options_page": "options.html"
}

选项.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>

选项.js

console.log(localStorage);

访问选项页面,控制台输出null。当尝试使用 localStorage['property'] 更改或访问属性时,由于 localStorage 为空,它会抛出错误。

我尝试了类似 localStorage = {property: 'value'}; 但它没有改变任何东西,在那之后 localStorage 仍然是 null。

我在 Windows 8 上使用 chrome 28.0.1500.95。

编辑:问题仍然存在。但是,我 - 目前 - 使用替代方案,如果它可以帮助某人的话。我现在使用 Chrome 存储。

这是它的工作原理。

list .json

"permissions": ["storage"]

选项.js

//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.

最佳答案

您可以通过 background page 访问它:

chrome.runtime.getBackgroundPage(function(win) {   console.log(win.localStorage.property);});

注意:我没有看到您遇到的问题。我只是建议一个可能的解决方法。

关于javascript - 选项页面上的 localStorage 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18245098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com