2009-10-22 70 views
2

我开发了一个扩展,在浏览会话期间创建了大量数据。想一想,总的HTTP流量(图片,HTML等)的2到3倍。FireFox扩展中的临时存储

目前我只是把所有这些都放在一个Javascript变量中,但是如果扩展会得到任何严重的用法,这显然是不可行的。

所以,问题是,我应该在哪里存储这些数据?它很少被访问,但当它是所有的时候。此外,如果数据不是在当前会话之后仍然存在,那么会很好;陈旧的数据在这种情况下是无用的,我宁愿不要无谓地填满磁盘。

*对于在浏览器中运行的东西,在Javascript

回答

1

一个相当标准的解决方案是使用本地文件作为存储。作为Firefox扩展运行的代码具有足够的权限来读取和写入本地文件。 MDC File I/O code snippets page是理解和实施扩展中的一个非常好的起点。它还向您展示了如何find your extension's directory并说明了creating temporary files的机制。

这些方法应该给你你需要的工具来做你想做的事情。让我们知道您是否需要进一步的问题。

0

在磁盘上。无论如何,如果它确实是流量的3倍,您将无法将其全部保留在内存中。您可以随时在关闭时和/或下次会议开始时删除不再需要的数据。

存储数据的具体方式取决于您具体的要求 - 您需要存储什么,数据访问中的模式是什么。如果像你说的那样,你只需要保存收到的单个文件,我会把它们存储为文件。