【发布时间】:2023-04-07 04:58:02
【问题描述】:
我正在开发一个 Chrome 扩展程序,它需要保存一些信息(主要是标签信息),这些信息将在扩展程序的整个生命周期中存在(例如,从用户开始使用它直到他关闭浏览器)。
一种选择是使用 localstorage,但是 localstorage 只能保存字符串,这让我很不舒服(因为我有一堆数据要保存 - 日期、URL、整数等)。我正在寻找的是使用我自己的 javascript 对象,这些对象将在整个扩展期间存在。
现在的问题是,在某些 javascript 文件中的脚本中定义这些对象会在用户每次单击浏览器操作时删除它们。换句话说,我有一个名为 popup.html 的浏览器操作,其中包含一个 javascript 文件(我想在其中保存我的对象),每次用户单击浏览器操作时,我在 JS 文件中定义的所有对象都会丢失,但是我希望一切都被持久化。
我必须保留哪些选项来保留通过多次点击浏览器操作而不是本地存储的数据?
【问题讨论】:
-
那么,你想记住当前会话的数据吗(直到浏览器关闭)?在这种情况下,只需在 background page 中创建对象。
-
或者你可以使用indexedDB
-
现在您可以使用 chrome.storage 自动序列化/反序列化 FWIW:stackoverflow.com/a/24281357/32453
-
你应该在扩展中使用
chrome.storage,而不是其他类型的存储
标签: javascript google-chrome google-chrome-extension