如何在关闭和打开 chrome 扩展弹出窗口时不丢失数据

how not to lose data when closing and opening chrome extension popup

我是 chrome 扩展程序的新手。 我需要在使用弹出窗口时创建数据,在 closing 并重新打开它后可用。

以下是关于我的具体问题的更多详细信息:

每当我的 chrome 扩展弹出窗口打开时,脚本就会运行。在弹出窗口中,有一个选项可以单击一个按钮,该按钮会将一个项目添加到数组中,该按钮用于在此弹出窗口的另一个选项卡中显示此项目列表。然而,由于每次打开弹出窗口时,代码都会重新运行,数组在弹出窗口再次打开时清空,显然是在浏览器或 OS 重新启动时。我需要这个数组通过 OS、浏览器和弹出窗口本身的打开和 closing 保持一致。有什么想法吗?

顺便说一句 - 从后台页面管理它不够好,因为 os 重新启动后台页面会话停止并且数据是 lost

当弹出窗口关闭时,其 HTML 文档将被完全卸载;您需要在每次打开弹出窗口时加载它时恢复状态。没办法。

如您所述,当浏览器 运行 时,可以在后台页面中保留状态信息。但它仍然是临时存储;您需要使用持久存储来保存您需要保存的任何状态。

最明显(也是推荐)的选择是 chrome.storage API,专门为此目的而设计。如果愿意,您还可以使用 localStorageIndexedDB 等 Web API。