-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbsFilter.user.js
More file actions
51 lines (50 loc) · 1.79 KB
/
bsFilter.user.js
File metadata and controls
51 lines (50 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// ==UserScript==
// @name Bullshit filter
// @version 0.3
// @description Userscript for filtering bullshit
// @author Thomas Gjerde
// @match http://www.dagbladet.no/
// @match http://www.vg.no/
// ==/UserScript==
var keywords = ["farmen","reality-tv","dagbladet pluss","paradise","pluss.vg.no","minmote","bieber","rosablogg","sponset.vg.no","skal vi danse","/rampelys/", "/kjendis/"];
var garbage = [];
var elements;
if(location.hostname == "www.dagbladet.no"){
//console.log("DB.no");
elements = document.getElementsByTagName('article');
}else if(location.hostname == "www.vg.no"){
//console.log("VG.no");
elements = [];
var vgElements = document.getElementsByTagName('div');
for (var i in vgElements) {
if((vgElements[i].className + "").indexOf("article-content") > -1) {
elements.push(vgElements[i]);
}
}
}
for(var i = 0; i < elements.length; i++) {
elem = elements[i];
for(var j = 0; j < keywords.length; j++){
if(elem.innerHTML.toLowerCase().indexOf(keywords[j]) > -1){
//console.log("Headline: " + elem.innerHTML.replace(/(<([^>]+)>)/ig,""));
var headline = elem.innerText.replace(/ +(?= )/g,'').replace(/\t/g,""); //Strip concurrent whitespaces and tabs
garbage.push([elements[i],keywords[j],headline.substring(0,Math.min(headline.length,25)) + "..."]);
break;
}
}
}
var csvString = "";
var delimiter = "";
for(var i = 0; i < garbage.length; i++) {
elem = garbage[i][0];
elem.innerHTML = "Filtered: " + garbage[i][1];
console.log("Headline: " + garbage[i][2]);
csvString += delimiter + garbage[i][2].replace(",",",");
delimiter = ",";
//elem.parentNode.removeChild(elem);
}
console.log("Removed " + garbage.length + " bullshit element(s)");
chrome.runtime.sendMessage({
total_elements: garbage.length,
headlines: csvString
});