Firefox扩展开发 - 数据存储 - Firefox首选项是一个好地方吗?

3 configuration firefox-addon

我开发了一个Firefox附加组件,需要在本地机器中保存一些用户数据.现在,我使用Firefox提供的文件系统功能在用户系统中创建一些文件夹和文件.

便携性是一个问题.我为Windows XP设计了它.但是,Vista的文件夹结构不同(在app数据中).Linux完全不同.我做了OS检查并相应地创建/读/写文件.突然间,我需要支持Mac!

我想为什么不在Firefox首选项中保存数据.我将使用Preference Manager.

平均而言,数据总量几乎不会超过100KB.但问题是,在极少数情况下,数据可能会变得非常大 - 在最坏的情况下几兆.那么,将它保存为偏好值是一个好主意吗?

我知道这不是它的意思,但它会给我带来很多麻烦.

即使这是一个坏主意,只要让我知道在偏好中存储那么多数据的性能或其他问题(如果有的话).

谢谢.

Mar*_*ius 6

使用较新版本的Firefox,您可以使用SQLite存储数据.JavaScript中的SQLite API并不是非常好,但是从Firefox 3.6开始变得非常可靠(异步获取数据,绑定多组数据等).

您可以使用以下代码在配置文件目录中打开/创建文件.它适用于Firefox运行的所有平台:

var file = Components.classes["@mozilla.org/file/directory_service;1"]
                     .getService(Components.interfaces.nsIProperties)
                     .get("ProfD", Components.interfaces.nsIFile);
file.append("my_db_file_name.sqlite");
Run Code Online (Sandbox Code Playgroud)