1

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

OpenBrowserWindow({private: !PrivateBrowsingUtils.isWindowPrivate(window)});
setTimeout(BrowserTryToCloseWindow, 80);

Я использую 'setTimeout' для предотвращения мерцания.

Когда открывается новое окно, оно получает фокус. Когда команда BrowserTryToCloseWindow выполнена, фокус возвращается к старому окну. Когда старое окно закрыто, новое имеет фокус, но оно не «отмечено / активно» на панели задач Windows.

Я полагаю, мне нужно использовать ITaskbarList::ActivateTab, чтобы активировать новое окно на панели задач. У меня есть (очень) основное направление:

Components.utils.import("resource://gre/modules/ctypes.jsm");
var lib = ctypes.open("user32.dll");
var taskBar = lib.declare(---
taskBar---
lib.close();

Буду признателен за вашу помощь.

Win 7, 32-битная, классическая тема.

Опубликовано здесь тоже.

1 ответ1

1
function togglePB(click)

{var newWin = OpenBrowserWindow({private:! PrivateBrowsingUtils.isWindowPrivate(window)});

if(click.button == 0)
    newWin.addEventListener("focus",  function switchWindows() { window.focus(); BrowserTryToCloseWindow(); newWin.removeEventListener("focus", switchWindows); });

}

http://forums.mozillazine.org/viewtopic.php?f=19&t=2895755

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .