代码之家  ›  专栏  ›  技术社区  ›  Anonymous

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

  •  3
  • Anonymous  · 技术社区  · 15 年前

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

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

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

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

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

    2 回复  |  直到 15 年前
        1
  •  6
  •   DarkLeafyGreen    14 年前

    使用较新版本的Firefox,您可以使用 SQLite to store data . 这个 SQLite

    您可以使用以下代码在概要文件目录中打开/创建文件。它适用于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");
    
        2
  •  1
  •   CodeSalad    15 年前

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

    MDC (File I/O)

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