仅关闭具有firefox扩展名的特定选项卡

时间:2011-10-03 10:04:38

标签: firefox tabs firefox-addon

我正在开发一个firefox扩展,我希望能够关闭一个特定的选项卡。例如,如果浏览器中有许多打开的选项卡,则只想关闭具有特定URL的选项卡。

我知道我可以使用gBrowser.removeTab(tab),但我不知道如何获取tab对象。 另一方面,我可以获得与url对应的浏览器,但removeTab()函数的param必须是“tab对象”。我是如何获得标签对象的。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

tabbrowser.getBrowserForTab() method实际上是将浏览器与标签相关联的最简单方法。所以你会做这样的事情:

var tabs = gBrowser.tabs;
for (var i = tabs.length - 1; i >= 0; i--)
{
  var tab = tabs[i];
  var browser = gBrowser.getBrowserForTab(tab);
  if (browser.currentURI && browser.currentURI.spec == "...")
    gBrowser.removeTab(tab);
}

答案 1 :(得分:0)

我认为您可以使用此方法:gBrowser.removeCurrentTab();此示例关闭当前选定的标签。

有关更多代码,请参阅此链接:https://developer.mozilla.org/en/Code_snippets/Tabbed_browser