Amigos, boa tarde! Tenho uma extensão pronta para meu uso.
Ela identifica uma palavra especifica e faz a conta de quantidade! Porém eu gostaria de fazer com que ela não pegasse uma palavra em especifico e sim uma frase para adicionar condições! Um exemplo.
Ela identifica a quantidade de user.
Porém dentro desse user tem 2 diferenças.
User > C.
User > V.
No caso, o C significa Encerramento Clain e V significa Encerramento ao Volt.
Eu gostaria que:
Ela realizasse a contabilização do User + As frases citadas acima.
Exemplo:
Total de User 55.
Total de encerramento Clain 15.
Total encerramento ao Voilt 5.
Vou mostrar o que já tenho para vocês, treewalker:
var nodeReject = {
acceptNode: function(node) {
if(!node.parentNode.nodeName.match(/SCRIPT|STYLE|CODE/))
return NodeFilter.FILTER_ACCEPT;
}
};
function treeWalker(ele) {
var nodes = document.createTreeWalker(ele, NodeFilter.SHOW_TEXT, nodeReject, false);
var text = [];
regex = new RegExp(/^['"!@#$£%¢¬&*()\-_+=§`´{[^~\]}<,.>;:\/°?|\d]+|['"!@#$£%¢¬&*()\-_+=§`´{[^~\]}<,.>;:\/°?|\d]+$/g);
while(node = nodes.nextNode()) {
var words = node.data
.split(/\s/)
.map((str) => str.replace(regex, ''))
.filter((str) => !!str);
text = text.concat(words)
}
return text;
}
var nodes = treeWalker(document.body);
var words = []
nodes.forEach( (text) => {
var word = text.toLowerCase();
var wordIndex = words.findIndex( (w) => w.word == word );
if(word == "user") {
word = "Casos respondidos";
wordIndex = words.findIndex( (w) => w.word == word );
if(wordIndex >= 0) {
words[wordIndex].counter = words[wordIndex].counter + 1;
}
else {
words.push({word: word, counter: 1});
}
}
});
words = words.sort( (a, b) => b.counter - a.counter );
chrome.runtime.sendMessage({ words: words });
Poderiam me ajudar?
