我正在尝试在Firefox附加组件构建器上计算具有相同特定标题(如Google标题)的firefox标签。
我知道
var tabs = require("tabs");
for each (var tab in tabs)
但如何获取具有相同名称的标签数? 提前谢谢!
答案 0 :(得分:0)
如何获得标签的标题?这可能吗?一旦你完成了这项工作,就会声明一个用于存储标题计数的对象,其中标题是属性。
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;
});
答案 1 :(得分:0)
这对我有用:
//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));
});
标签的文档在这里: https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs
有两个问题:获取标签标题并获取每个标题标题的出现次数。要获取标签标题,请参阅: https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs
要获取数组中每个项目的出现次数,请参阅: http://jsfiddle.net/cz2SG/
请注意,要查看控制台日志记录,您需要启用它: https://blog.mozilla.org/addons/2013/03/27/changes-to-console-log-behaviour-in-sdk-1-14/