我开发了一个扩展程序,可以在浏览会话期间创建大量数据。想想,总HTTP流量的2到3倍(图像,HTML等)。

目前我只是在Javascript变量中存储所有这些内容,但如果扩展程序将被严重使用,这显然是不可行的。

所以,问题是,我应该在哪里存储这些数据?它很少被访问,但当它是全部的时候。此外,如果数据不会持续超出当前会话,那就太好了;在这种情况下陈旧的数据是无用的,我宁愿不用不必要地填满磁盘。

*对于在浏览器中运行的内容,在Javascript中

有帮助吗?

解决方案

一个相当标准的解决方案是使用本地文件作为存储。作为Firefox扩展运行的代码具有足够的权限来读取和写入本地文件。 MDC文件I / O代码段页面是一个非常好的开始在您的扩展中理解和实现这一点。它还向您展示了如何查找您的扩展程序的目录并说明创建临时文件的机制。

这些方法应该为您提供完成所需工作所需的工具。如果您还需要进一步的问题,请告诉我们。

其他提示

您可能需要查看Firefox 3.5附带的数据库。

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

在磁盘上。如果它确实是流量的3倍,那么无论如何你都无法将它全部留在内存中。您可以随时在关机时和/或下一个会话开始时删除不再需要的数据。

存储数据的具体方法取决于您的具体要求 - 您需要存储的内容,数据访问中的模式是什么。如果,正如您所说,您只需要保存收到的单个文件,我会将它们存储为文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top