我正在开发Firefox扩展,我需要在登录属性的本地存储中存储日期。
我使用简单存储,但简单存储在重启后会丢失数据。
请告诉我如何在本地存储中存储数据。
答案 0 :(得分:3)
您可能正在使用jpm run
来测试您的插件。每次执行时,jpm run
都会使用全新的临时配置文件。如果您希望任何数据从一次执行持续到另一次执行,则需要使用-p
或--profile=
选项指定要用于该运行的配置文件。请参阅MDN上的Using profiles。您可以指定配置文件名称或配置文件的路径。仅使用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?