3

Я работаю над расширением Firefox, и мне нужно сохранить дату в локальном хранилище для входа в систему.Расширение Firefox: - как хранить данные в локальном хранилище

Я использовал простую память, но простое хранилище потеряло данные после перезагрузки.

Поэтому, пожалуйста, дайте мне знать, как хранить данные в локальном хранилище.

+0

Простая память не должна быть потеряна после перезагрузки, поскольку она сохраняет файл, см. Этот пост, чтобы увидеть, как он работает - https: // discourse. mozilla-community.org/t/does-simple-storage-work/6724/13?u=noitidart - вы должны делать что-то, что заставляет его очищать – Noitidart

+0

Какой код вы уже пробовали? Пожалуйста, * [изменить] вопрос *, чтобы включить исходный код в вопрос. StackOverflow обычно относится к конкретным вопросам для решения конкретных проблем, а не для общих руководств. См. [Какие темы можно задать здесь?] (Http://stackoverflow.com/help/on-topic), [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how -to-ask) и [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). – Makyen

ответ

3

Возможно, вы используете 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. Вы можете запустить менеджер профилей, запустив Firefox с любым из вариантов: -p, -P, или -ProfileManager. Как правило, вам нужно выйти из любого исполняемого экземпляра Firefox, чтобы запустить новую версию Firefox. Тем не менее, также можно запустить новый экземпляр, когда Firefox открыт с другим профилем, используя опцию -no-remote. Например, на 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?

Смежные вопросы