我正在开发 Firefox 扩展,我需要将日期存储在 localStorage
中作为登录属性。
我使用了简单存储,但简单存储在重启后丢失了数据。
所以,请告诉我如何在 localStorage
中存储数据。
最佳答案
您可能正在使用 jpm run
测试您的附加组件。 jpm run
每次执行时都会使用一个新的临时配置文件。如果您希望任何数据从一次执行持续到另一次执行,您将需要使用 -p
或 --profile=
选项来指定用于该运行的配置文件。参见 Using profiles在 MDN 上。您可以指定配置文件名称或配置文件的路径。仅使用 jpm run
缺乏持久性将成为放置在配置文件或配置文件目录中的任何存储的问题,无论是 simple-prefs 的偏好, 数据使用 simple-storage ,一个使用 io/file 的文件,一个使用 SQLite database 的数据库,或任何其他方法。这在多个页面上都有明确说明,包括 simple-storage页面。
示例(来自 MDN):
jpm run --profile boogaloo
jpm run --profile path/to/boogaloo
如果您想创建一个新的配置文件用于测试,您可以使用 profile manager .您可以通过使用 -p
、-P
或 -ProfileManager
中的任何选项启动 Firefox 来启动配置文件管理器。通常,您需要退出任何当前正在运行的 Firefox 实例才能启动新版本的 Firefox。但是,也可以使用 -no-remote
选项在使用不同配置文件打开 Firefox 的同时启动新实例。例如,在 64 位 Windows 上,要启动 Firefox 配置文件管理器,我通常使用:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -ProfileManager
如果你真的想使用本地存储,你应该将数据存储在配置文件目录中,所以你仍然需要执行上述步骤才能使用指定的配置文件。你会想看看io/file , 并且需要 open()
文件,然后使用 text-streams 读取或写入它或 byte-streams .下一个合乎逻辑的问题是它应该存储在哪里,但这是另一个问题:Where to save files from Firefox add-on?
关于javascript - 将 `localStorage` 用于 Firefox Add-on SDK 扩展时如何将数据持久存储在 `jpm run`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35579084/