[将jpm run用于Firefox附加SDK扩展时如何将数据持久存储在localStorage中

问题描述 投票:3回答:1

我正在使用Firefox扩展,我需要将日期存储在localStorage中作为登录属性。

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

所以,请让我知道如何将数据存储在localStorage中。

javascript firefox-addon firefox-addon-sdk firefox-developer-tools
1个回答
3
投票

您可能正在使用jpm run测试附加组件。每次执行时,jpm run都会使用一个新的临时配置文件。如果希望任何数据从一个执行持续到另一个执行,则需要使用jpm run-p选项来指定要用于该运行的配置文件。请参阅MDN上的--profile=。您可以指定配置文件名称或配置文件的路径。对于配置文件或配置文件目录中放置的任何存储,缺乏仅使用Using profiles的持久性都会成为一个问题,无论是jpm run的首选项,simple-prefs的数据,simple-storage的文件,使用io/file或任何其他方法的数据库。这在包括SQLite database页面的多个页面上都有明确说明。

示例(来自MDN):

simple-storage

如果要创建用于测试的新配置文件,则可以使用jpm run --profile boogaloo jpm run --profile path/to/boogaloo 。您可以通过使用profile manager-p-P中的任何一个来启动Firefox来启动配置文件管理器。通常,您需要退出任何当前正在运行的Firefox实例,才能启动新版本的Firefox。但是,也可以使用-ProfileManager选项在使用其他配置文件打开Firefox的同时启动新实例。例如,在64位Windows上,通常使用以下命令来启动Firefox配置文件管理器:

-no-remote

如果您确实要使用本地存储,则应将数据存储在配置文件目录中,因此仍然需要执行上述步骤才能使用指定的配置文件。您将要查看"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -no-remote -ProfileManager ,并且需要io/file该文件,然后使用open()open()对其进行读写。下一个逻辑问题是应该将其存储在哪里,但这是另一个问题:text-streams

© www.soinside.com 2019 - 2024. All rights reserved.