Временное хранилище в расширении FireFox - PullRequest
2 голосов
/ 22 октября 2009

Я разработал расширение, которое создает много * данных во время сеанса просмотра. Подумайте, в 2–3 раза больше общего трафика HTTP (изображения, HTML и т. Д.).

В настоящее время я просто храню все это в переменной Javascript, но, очевидно, это невозможно, если расширение получит какое-либо серьезное использование.

Итак, вопрос в том, где я должен хранить эти данные? К нему очень редко обращаются, но когда это ВСЕ, то есть. Кроме того, было бы хорошо, если бы данные не сохранялись после текущего сеанса; в этом случае устаревшие данные бесполезны, и я бы предпочел не заполнять диск без необходимости.

* Для чего-то запущенного в браузере, в Javascript

Ответы [ 3 ]

1 голос
/ 22 октября 2009

Довольно стандартным решением является использование локальных файлов в качестве хранилища. Код, работающий как расширение Firefox, обладает достаточными правами для чтения и записи локальных файлов. Страница фрагментов кода ввода-вывода файлов является очень хорошей отправной точкой для понимания и реализации этого в вашем расширении. Он также показывает, как найти каталог вашего расширения , и иллюстрирует механизм создания временных файлов .

Эти подходы должны дать вам инструменты, необходимые для того, что вам нужно. Дайте нам знать, если вам нужны дополнительные вопросы.

1 голос
/ 22 октября 2009

Возможно, вы захотите взглянуть на базу данных, которая поставляется с Firefox 3.5.

https://developer.mozilla.org/en/Storage

0 голосов
/ 22 октября 2009

На диске. В любом случае, вы не сможете хранить все это в памяти, если это действительно 3-кратный трафик. Вы всегда можете удалить ненужные данные при завершении работы и / или в начале следующего сеанса.

Конкретный способ хранения данных зависит от конкретных требований, которые у вас есть - что вам нужно хранить, каковы схемы доступа к данным. Если, как вы говорите, вам просто нужно сохранить отдельные полученные файлы, я бы сохранил их как файлы.

...