Как переключать боковую панель в Firefox - PullRequest
0 голосов
/ 14 февраля 2011

Я хочу переключать боковую панель при щелчке значка на панели инструментов. Я определяю свою панель инструментов в файле ff-sidebar.js:

var mainWindow = null;

function startup() {
  mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                     .getInterface(Components.interfaces.nsIWebNavigation)
                     .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                     .rootTreeItem
                     .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                     .getInterface(Components.interfaces.nsIDOMWindow);

  // Sidebar is loaded and mainwindow is ready                   
}

function shutdown() {
  // Sidebar is unloading
}

window.addEventListener("load", startup, false);
window.addEventListener("unload", shutdown, false);

Есть идеи, как это сделать? Я не могу найти ссылку.

1 Ответ

0 голосов
/ 14 февраля 2011

Я наконец нашел решение:

В моем ff-overlay.xul моя боковая панель определяется следующим образом:

<broadcasterset id="mainBroadcasterSet">
    <broadcaster id="viewSidebar_smsflatrate"
                 label="&smsflatrateSidebar.label;"
                 autoCheck="false"
                 type="checkbox"
                 group="sidebar"
                 sidebarurl="chrome://smsflatrate/content/ff-sidebar.xul"
                 sidebartitle="&smsflatrateSidebar.label;"
                 oncommand="toggleSidebar('viewSidebar_smsflatrate');" />
  </broadcasterset>

Чтобы переключить боковую панель, просто используйте следующую команду:

toggleSidebar("viewSidebar_smsflatrate");
...