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

Configuration Firefox扩展开发-数据存储-Firefox首选项是一个好地方吗?,configuration,firefox-addon,Configuration,Firefox Addon,我开发了一个Firefox插件,需要在本地机器上保存一些用户数据。现在,我使用Firefox提供的文件系统功能在用户系统中创建一些文件夹和文件 可移植性是一个问题。我是为WindowsXP设计的。但是,Vista的文件夹结构不同(在应用程序数据中)。Linux完全不同。我执行操作系统检查并相应地创建/读取/写入文件。突然,我需要支持Mac 我想为什么不把数据保存在Firefox首选项中呢。我将使用首选项管理器 平均而言,数据总量几乎不会超过100KB。但问题是,在极少数情况下,数据可能会变得相当

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

可移植性是一个问题。我是为WindowsXP设计的。但是,Vista的文件夹结构不同(在应用程序数据中)。Linux完全不同。我执行操作系统检查并相应地创建/读取/写入文件。突然,我需要支持Mac

我想为什么不把数据保存在Firefox首选项中呢。我将使用首选项管理器

平均而言,数据总量几乎不会超过100KB。但问题是,在极少数情况下,数据可能会变得相当大——在最坏的情况下只有几兆字节。那么,将其保存为首选值是一个好主意吗

我知道这不是它的本意,但它会帮我省去很多麻烦

即使这是个坏主意,也请告诉我在首选项中存储那么多数据的性能或其他问题(如果有)


谢谢。

可以通过代码找到firefox的配置文件或扩展目录。您甚至可以找到自己扩展的目录。使用这种方法,可移植性应该不是问题

你可以在网站上找到说明

我不建议在首选项中保存数据。无论如何,您可以查看sqlite数据库,而不是使用裸文件i/o,ubiquity也使用这些数据库


干杯。

对于新版本的Firefox,您可以使用。JavaScript中的API不是很好,但从Firefox3.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");

有人可能会像马吉德报道的那样用谷歌搜索“无处不在”。如果你这么做了,请注意第一个指向“rocket.ryerson…;”URL的搜索结果。该网站非常可疑。它试图欺骗你下载他自己服务器上托管的加载项副本,只是,他精心制作了一个与Mozilla完全一样的加载项。多亏了Majid提供的这些信息。