使用插件SDK统计Firefox插件中标题相同的选项卡

使用插件SDK统计Firefox插件中标题相同的选项卡,firefox,sdk,tabs,Firefox,Sdk,Tabs,我试图统计firefox插件生成器上具有相同特定标题(如Google标题)的firefox选项卡 我知道 var tabs = require("tabs"); for each (var tab in tabs) 但如何获得同名选项卡的计数? 提前谢谢你 如何获取选项卡的标题?这可能吗?一旦解决了这个问题,就声明一个用于存储标题计数的对象,其中标题就是属性 ttabs_obj = ttabs_obj || {}; // your retrieved tabs titles_count = t

我试图统计firefox插件生成器上具有相同特定标题(如Google标题)的firefox选项卡

我知道

var tabs = require("tabs");
for each (var tab in tabs)
但如何获得同名选项卡的计数?
提前谢谢你

如何获取选项卡的标题?这可能吗?一旦解决了这个问题,就声明一个用于存储标题计数的对象,其中标题就是属性

ttabs_obj = ttabs_obj || {}; // your retrieved tabs
titles_count = titles_count || {};
ttabs_obj.forEach(function(tab, titles_count){
    title = ''; //get title from tab here, replacing characters invalid in property names with '_'
    if (!(title in titles_count)) {
        titles_count[title] = 0;
    }
    titles_count[title] += 1;
});
这对我很有用:

//Set up namespace
var app={};
app.tabs = require("sdk/tabs");

//Takes an array and returns an object.
//In this case, keys are tab titles and values are tab counts.
app.summarize=function(arr){
    return arr.reduce(function(memo,item){
        if (typeof memo[item]==='undefined'){
             memo[item]=1;   
        }
        else{
            memo[item]++;           
        }
        return memo;
    },{});
};


//Whenever a tab loads, recalculate and output to console
//Need to enable console logging:
app.tabs.on('ready',function(){
    //app.tabs is a pseudo-array. Convert to array
    var tabsArr=Array.prototype.slice.call(app.tabs);
    var tabsTitles=tabsArr.map(function(tab){
        return tab.title;
    });
    console.log(app.summarize(tabsTitles));
});
选项卡的文档如下所示:

有两个问题:获取选项卡标题和获取每个选项卡标题的出现次数。有关获取选项卡标题的信息,请参见:

有关获取数组中每个项目的出现次数,请参见:

请注意,要查看控制台日志记录,您需要启用它:

附加sdk使用javascript。此代码不能在javascript环境中使用。您是偶然使用jQuery还是纯javascript?