2016-09-01 2 views
0

Я знаю, что я могу открыть несколько профилей (разные прокси), каждый профиль в окне firefox, со многими расширениями или с помощью команды «-P {PROFILENAME} -no-remote».Можно ли открыть несколько профилей в одном окне?

Я бы спросил, можно ли открыть несколько профилей в одном окне, каждый профиль на одной вкладке (подумав о том, чтобы кто-то разработал собственное расширение).

Thanx ребята

+0

Как написано, это не является вопросом программирования. Таким образом: вопросы о ** общем компьютерном оборудовании и программном обеспечении не относятся к теме ** для переполнения стека, если только они не связаны напрямую с инструментами, используемыми в основном для программирования. Вы можете получить помощь по [Суперпользователю] (http://superuser.com/about). – Makyen

ответ

0

Вы можете быть в состоянии подделать его, сделав одно окно Firefox родителем другого. Я сделал быстрое доказательство концепции, используя SetParent на два окне Firefox работает в отдельных процессах с различными путями профиля:

foxception

Внутренним окно, безусловно, субокно внешнего окна здесь. Например, если вы попытаетесь максимизировать внутреннее окно, оно просто расширяется, чтобы заполнить внешнее окно.

Однако вы не можете создать окно дочернего элемента вкладки, поскольку вкладка не является окном. Чтобы достичь иллюзии наличия окна, встроенного в вкладку, вам нужно будет слушать, когда текущая вкладка изменится (gBrowser.tabContainer.addEventListener("TabSelect", f)) и переключится на правильное под-окно для этой вкладки. Вы можете использовать SetWindowPos, чтобы изменить размер и изменить положение суб-окна, чтобы заполнить область содержимого вкладки.

Чтобы отрезать хромированные элементы (граница окна, панели инструментов и т. Д.), Вы можете либо использовать SetWindowRgn, либо, возможно, удалить эти элементы из DOM этого окна.

Вам также необходимо убедиться, что подпроцессы Firefox закрыты, когда соответствующая вкладка закрыта.

Обратите внимание, что вы можете сделать все это с JavaScript, используя внешнюю функцию-интерфейс: https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes


Это может быть хитроумный задница решение, но если честно, я не могу думать ни о чем другом, что может возможно, лучше, кроме повторной оценки ваших требований. Firefox просто не предназначен для обработки более одного профиля для каждого процесса.

Смежные вопросы