7

我正在开发一个 Chrome 扩展,它需要保存一些信息(主要是标签信息),这些信息将在扩展的整个生命周期中存在(例如,因为用户开始使用它,直到他关闭浏览器)。

一种选择是使用 localstorage,但是 localstorage 只能保存字符串,这让我很不舒服(因为我有一堆数据要保存 - 日期、URL、整数等)。我正在寻找的是使用我自己的 javascript 对象,这些对象将在整个扩展期间存在。
现在的问题是,在某些 javascript 文件中的脚本中定义这些对象会在用户每次单击浏览器操作时删除它们。换句话说,我有一个名为 popup.html 的浏览器操作,其中包含一个 javascript 文件(我想在其中保存我的对象),每次用户单击浏览器操作时,我在 JS 文件中定义的所有对象都会丢失,但是我要坚持一切。

我有什么选项可以保留通过多次点击浏览器操作而不是本地存储的数据?

4

3 回答 3

3

你真的应该使用 localStorage(你可以使用 JSON.stringify 和 JSON.parse)。

如果您真的不想使用 localStorage 或服务器端存储,请使用 IndexedDb:https ://developer.mozilla.org/en/IndexedDB/Using_IndexedDB

于 2012-05-28T15:30:01.880 回答
2

尝试使用Filesystem API的持久存储。这比localStorage. localStorage一旦用户清除缓存、cookie 等,将被清除。文件系统更可靠。

于 2012-05-29T11:04:26.687 回答
1

这个关于使用 chrome.storage 的答案对我来说比其他人好得多。

https://stackoverflow.com/a/14009240/766115

它类似于 localStorage,但在弹出/背景和内容脚本之间工作。

于 2013-09-22T01:05:36.097 回答