我知道我可以在firefox窗口中打开多个配置文件(不同的代理),每个配置文件, 有许多扩展或命令“-P {PROFILENAME} -no-remote”。
我会问是否可以在同一个窗口中打开多个配置文件,在一个选项卡中打开每个配置文件(考虑让某人开发自定义扩展)。
thanx guys
答案 0 :(得分:0)
您可以通过将一个Firefox窗口作为另一个Firefox的父窗口来伪造它。我在使用不同配置文件路径的不同进程中运行的两个Firefox窗口上使用SetParent
快速进行了概念验证:
内部窗口绝对是这里外窗的子窗口。例如,如果您尝试最大化内部窗口,则只需展开以填充外部窗口。
但是,您可以将窗口设置为选项卡的子窗口,因为选项卡不是窗口。为了实现将窗口嵌入选项卡的错觉,您必须在当前选项卡更改(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根本不是为每个进程处理多个配置文件而设计的。