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

Joh*_* d. 3 firefox tabs firefox-addon

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

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

有任何想法吗?

Wla*_*ant 5

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

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);
}
Run Code Online (Sandbox Code Playgroud)