Firefox扩展: - 如何在本地存储中存储数据

时间:2016-02-23 13:38:38

标签: firefox-addon firefox-addon-sdk firefox-developer-tools

我正在开发Firefox扩展,我需要在登录属性的本地存储中存储日期。

我使用简单存储,但简单存储在重启后会丢失数据。

请告诉我如何在本地存储中存储数据。

1 个答案:

答案 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-streamsbyte-streams进行读取或写入。下一个逻辑问题是应该存储它的位置,但这是另一个问题:Where to save files from Firefox add-on?