这是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频道也没有回复:(
答案 0 :(得分:3)
要获取当前标签,您可以执行以下操作:
domWindow.gBrowser.selectedTab
要获取您可以使用的所有标签集:
domWindow.gBrowser.tabContainer
在这里,您可以使用tabs方法选择特定索引等。 您可以在tabbrowser - XUL,Tabbed browser - Code Snippets和
中查看更多信息