Firefox扩展开发的新手。有没有一种方法可以从给定的nsIDOMWindow查找Tab对象?

let wm = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator);

var windowListener =
{
  onOpenWindow: function(aWindow)
  {
    // Wait for the window to finish loading
    let domWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);

    domWindow.addEventListener("load", function()
    {
      domWindow.removeEventListener("load", arguments.callee, false);

      if (domWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser")
      {

        // how do I find tabs?

      }
    }, false);
  },
}

wm.addListener(windowListener);


一直试图在MDN上找不到文档,mozilla #extdev通道也没有给我任何响应:(

最佳答案

要获取当前标签,您可以执行以下操作:

domWindow.gBrowser.selectedTab


要获取所有选项卡的集合,可以使用:

domWindow.gBrowser.tabContainer


在这里,您可以使用tabs方法选择特定的索引等。
您可以在tabbrowser - XULTabbed browser - Code Snippets

10-05 20:51