我想遍历打开的选项卡并执行特定任务。 有没有办法获取打开的标签页的数量?
答案 0 :(得分:0)
如果您需要js脚本,希望以下代码对您有所帮助:
var wM = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var numberOfTabs = wM.getMostRecentWindow("navigator:browser").gBrowser.browsers.length;
答案 1 :(得分:0)
这是Firefox currently uses通过计数打开的窗口和标签进行遥测的方式:
function getOpenTabsAndWinsCounts() {
let tabCount = 0;
let winCount = 0;
for (let win of Services.wm.getEnumerator("navigator:browser")) {
winCount++;
tabCount += win.gBrowser.tabs.length;
}
return { tabCount, winCount };
}
请注意如何遍历Services.wm.getEnumerator("navigator:browser")
的结果,以捕获所有打开的窗口的数量。
取决于使用脚本的位置,您可能需要使用var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator)
而不是@Shugar建议的Services.wm
。