2009-10-22 3 views
2

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

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

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

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

ответ

1

Довольно стандартное решение - использовать локальные файлы в качестве хранилища. Код, выполняемый как расширение Firefox, имеет достаточные привилегии для чтения и записи локальных файлов. MDC File I/O code snippets page - очень хорошая отправная точка для понимания и реализации этого в вашем расширении. Он также показывает вам, как find your extension's directory и иллюстрирует механизм для creating temporary files.

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

0

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

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

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