5

问题

是否有一种简单的编程方式来创建新的 Firefox 配置文件?

nsIToolkitProfileService看起来它可能会奏效,但文档说:

从 Gecko 18 (Firefox 18.0 / Thunderbird 18.0 / SeaMonkey 2.15 / Firefox OS 1.0.1) 开始,您不应再使用此服务或 nsIToolkitProfile

为什么

我有兴趣这样做,因为我认为它可以用来让 Firefox 的独立可执行文件很容易运行(例如,因此可以在每个应用程序的任务栏中有一个完全独立的图标),而不需要现在已经失效的 Prism/ Chromeless/WebRunner 项目。

我的方法是创建一个 Firefox 插件,允许用户指定一个 Web 应用程序 URL,然后为他们自动创建一个命名空间配置文件,如应用程序的“Executable1”、“Executable2”等。批处理文件,它将针对该配置文件和应用程序调用命令行“-no-remote”参数(因为 -no-remote 似乎需要配置文件来创建新实例(我在一个错误似乎对我不起作用)。

4

2 回答 2

5

我的猜测是人们要么想要避免主线程 I/O。或者有人讨论从应用程序中删除配置文件管理器以加快启动速度并简化一般的启动代码,所以这可能是原因。好像 wiki 用户“victorporof”确实做了这个编辑,所以你可能应该找他解释(IIRC,他有一个@mozilla.com 地址,你可以很容易地用谷歌搜索;)

无论如何,一个新的配置文件只不过是一个空目录。该应用程序将在启动后立即复制/创建丢失的文件。所以你的附加组件可以:

  • 在所需位置创建一个空目录。
  • 打开一个实例:-no-remote -profile $dir
  • 添加图标或其他任何东西。
  • 完成它。
  • 可以选择弄乱profiles.ini,以便新的配置文件在常规配置文件管理器中列出。

我经常从命令行做这样的事情,例如

mkdir -p central.profile && path/to/firefox -no-remote -profile $PWD/central.profile

或者只是继续使用nsITOolkitProfileService,直到它被实际删除。(这就是我可能会做的)。FWIW,甚至还有新代码仍在使用它,例如(远程)调试器。

此外,可能值得看看他们编写的独立配置文件管理器。

于 2013-09-10T08:10:41.767 回答
1

因此,根据 ask.mo 的 Neil 的说法,他说不使用此服务的消息是在他们制作 OS.File 时自动放在那里的。它将该消息错误地添加到此页面。该服务可用,但 OS.File 是首选方式。所以我创建了一些函数来使用 OS.File

链接到主题:ask.mo:OS.File 而不是 nsiToolkitProfileService?

这是: https ://gist.github.com/yajd/9791029

它仍然是一项正在进行的工作,需要更多的微调,我在我的插件 Profilist 中做了,我会尽快发布,然后在这里发布。

于 2014-03-31T01:56:02.643 回答