LDR, Greasemonkey | |
ふと, 思ったので.
// ==UserScript== // @name LDR Block List // @namespace http://d.hatena.ne.jp/Constellation/ // @include http://reader.livedoor.com/reader/* // @include http://reader.fastladder.com/reader/* // ==/UserScript== var reg = /Blog/ var white = true;// black list or white list var win = unsafeWindow; var load_data = true; var load_partial_data = true; var id = setTimeout(function(){ clearTimeout(id); if(load_data && win.subs && win.subs.model && win.subs.model.load_data){ load_data = false; win.subs.model.load_data = function(list){ this.loaded = true; this.list = list.filter(function(item){ var res = reg.test(item.folder); return white ? res : !res; }); this.generate_cache(); } } if(load_partial_data && win.subs && win.subs.model && win.subs.model.load_partial_data){ load_partial_data = false; var orig = win.subs.model.load_partial_data; win.subs.model.load_partial_data = function(list){ list = list.filter(function(item){ var res = reg.test(item.folder); return white ? res : !res; }); orig.call(this, list); } } if(load_data || load_partial_data) id = setTimeout(arguments.callee, 100); }, 100);
意外とあっさりできた.
/Blog/になってるけど, white list状態なので, folderがBlogのものしか表示されないはず.
white = falseにするとblack list状態になるから, 人前では見れないものを1folderにまとめて, 消しとくとかできる.
たまーにLDRのソース読み直すと, 面白いなー.