是否可以在同一窗口上打开多个配置文件?

时间:2016-09-01 14:26:33

标签: firefox-addon firefox-addon-sdk mozilla add-on

我知道我可以在firefox窗口中打开多个配置文件(不同的代理),每个配置文件, 有许多扩展或命令“-P {PROFILENAME} -no-remote”。

我会问是否可以在同一个窗口中打开多个配置文件,在一个选项卡中打开每个配置文件(考虑让某人开发自定义扩展)。

thanx guys

1 个答案:

答案 0 :(得分:0)

您可以通过将一个Firefox窗口作为另一个Firefox的父窗口来伪造它。我在使用不同配置文件路径的不同进程中运行的两个Firefox窗口上使用SetParent快速进行了概念验证:

foxception

内部窗口绝对是这里外窗的子窗口。例如,如果您尝试最大化内部窗口,则只需展开以填充外部窗口。

但是,您可以将窗口设置为选项卡的子窗口,因为选项卡不是窗口。为了实现将窗口嵌入选项卡的错觉,您必须在当前选项卡更改(gBrowser.tabContainer.addEventListener("TabSelect", f))时进行侦听并切换到该选项卡的正确子窗口。您可以使用SetWindowPos调整子窗口的大小并重新定位以填充选项卡内容区域。

要切掉chrome元素(窗口边框,工具栏等),您可以使用SetWindowRgn,也可以从子窗口的DOM中删除这些元素。

当关闭相应的标签页时,您还必须确保Firefox子流程关闭。

请注意,您可以使用foreign-function-interface:https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes

从JavaScript完成所有这些操作

这可能是一个狡猾的解决方案,但老实说,除了重新评估您的要求之外,我无法想到任何可能更好的事情。 Firefox根本不是为每个进程处理多个配置文件而设计的。