Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从nsIDOMWindow获取选项卡?_Javascript_Firefox_Firefox Addon_Xpcom - Fatal编程技术网

Javascript 如何从nsIDOMWindow获取选项卡?

Javascript 如何从nsIDOMWindow获取选项卡?,javascript,firefox,firefox-addon,xpcom,Javascript,Firefox,Firefox Addon,Xpcom,这里是firefox扩展开发的noob。有没有办法从给定的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

这里是firefox扩展开发的noob。有没有办法从给定的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);

mozilla#extdev频道也没有给我任何回复:(

要获取当前选项卡,您可以执行以下操作:

domWindow.gBrowser.selectedTab
要获取可使用的所有选项卡集,请执行以下操作:

domWindow.gBrowser.tabContainer 
在这里,您可以使用方法来选择特定的索引等。
您可以在中看到更多信息,

希望能够使用引导扩展实现这一点,但我找不到任何参考。将恢复到基于xul的扩展。感谢当时不确定是否可行,但现在有一个附加SDK(具有高级和低级API)允许访问选项卡。require('sdk/model/core').modelFor(),请参阅