0

我想在工具栏图标单击时切换侧边栏。我在 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);

知道怎么做吗?我找不到任何参考。

4

1 回答 1

0

我终于找到了解决方案:

在我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");
于 2011-02-14T14:14:15.120 回答