はてなハイクのスパムなどを消す
by
mafucode
2016-08-12 [2016/08/12 03:33:18]
スパムか判断できないロシアっぽい文字も消す。広告が上の方に来ると邪魔だからついでに消す(苦言を呈されても消す、というかそもそも消えているけど空白が邪魔だから消す)。
-
/**
* @title はてなハイクのスパムなどを消す
* @description スパムか判断できないロシアっぽい文字も消す。広告が上の方に来ると邪魔だからついでに消す(苦言を呈されても消す、というかそもそも消えているけど空白が邪魔だから消す)。
* @include http://h.hatena.ne.jp/
* @license public domain
*/
(function(){
var f=(function(){
var N = document.querySelectorAll('div.tl-entry ,div#tl-ad-container');
var i = 0;
var I = (function(s){
var i=0;
s=s.replace(/\(\u7D9A\u304D\u3092\u8AAD\u3080\)/,"");
while(i<s.length){
var c=s.charCodeAt(i);
if(
(0x000000<=c && c<=0x00007f) // ASCII
||(0x000400<=c && c<=0x0004ff) // Cyrillic
||(0x002014<=c && c<=0x002014) // EM DASH
){
}else{
//console.log(i+":("+c.toString(16)+")"+s.charAt(i));
return false;
}
i++;
}
return true;
});
var a = (function(e){
var title = e.querySelectorAll('a.title-anchor')[0];
if(!title){return true;}
title=title.textContent;
if(title.length<6){return false;}
if(!I(title))return false;
if(title.length<20){
var body=e.querySelectorAll('div.body')[0];
if(!body){return true;}
body=body.innerHTML;
if(!I(body)){
//console.log(title);
return false;
}
}
return true;
});
while(i<N.length){
var e = N[i];
if(e.parentElement && a(e)){
e.parentElement.removeChild(e);
}
i++;
}
});
setInterval(f,3000);
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。