Jay*_*ran 1 local-storage google-chrome-extension
我想为每个选项卡范围存储变量。已经提出了同样的问题,建议使用 localStorage。但是如何使用localstorage来保存关联数组。
例如。用户正在登录站点。我想创建一个变量来引用该用户。像这样使用将打开许多选项卡,他将登录许多站点。所以我需要在localstorage中维护域名和用户引用。因此,如果我使用用户名作为唯一字段,那么我可以维护与用户名相关的关联,最后我需要将这些信息存储在数据库中。
那么如何在 google chrome 扩展中维护一个数据结构。以上只是一个示例,但在任何情况下,我们都可以在具有不同值的各种选项卡中使用相同的变量名称。
文档说明使用 json 格式。但我仍然希望用户对此提出建议。
所以任何类型的回应都会有帮助,比如答案、建议、参考和评论。
从您的问题中不太清楚“选项卡范围”是什么意思。
如果您确实需要选项卡范围,即即使用户导航到新站点也存储此特定选项卡的值,那么您可以将 tabid 作为键(只有选项卡 ID 在浏览器重新启动之间不持久)。
如果您实际上是指“域范围” - 那么它会“免费”提供内容脚本。如果您localStorage在内容脚本中使用,它将仅存储该域的值。您只需要确保您的密钥不会与潜在站点的密钥发生冲突,因为该站点可能使用相同的 localStorage。
如果你只是问如何创建一个以域名为键的数据结构,那么它可能是这样的:
var data = {};
data["google.com"] = {
username: "user1",
password: "pass1"
};
data["yahoo.com"] = {
username: "user2",
password: "pass2"
};
//store it
localStorage["data"] = JSON.stringify(data);
//load
data = JSON.parse(localStorage["data"]);
//read google username
console.log(data["google.com"].username);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4829 次 |
| 最近记录: |