greasemonkey for tianya
天涯看帖,只看楼主现在要3000积分了,本人穷人,想到试试用greasemonkey这个强大的Firefox插件(greasemonkey参考),写个用户来取代天涯自带的只看楼主的功能,从网上搜寻了下资料,
查看了下其页面:
JS变量 intAuthorId 表示文章作者的ID,而作者的每一篇帖子中都有<span value=”****”></span>,其中value值就是intAuthorId值。
因此进行判断,如果span的value != intAuthorId ,那么删除此回复。具体如下:
// ==UserScript==
// @name tianyaLZ
// @namespace tianyaLZ namespace
// @description tianya zhi kan lou zhu
// @include http://www.tianya.cn/techforum/content/*
// ==/UserScript==
(function(){
function id(name){
return document.getElementById(name);
};
function tag(name,elem){
return (elem || document).getElementsByTagName(name);
}
function hasClass(name,type){
var r = [];
var re = new RegExp("(^|\\s)" + name + "(\\s|$)");
var e = document.getElementsByTagName(type || "*");
for(var j = 0; j<e.length; j++)
if(re.test(e[j].className)) r.push(e[j]);
return r;
};
var tySeeLz = id("__ty_vip_1");
tySeeLz.removeAttribute("onclick");
tySeeLz.addEventListener('click', seeLz, false);
function seeLz(){
var pContentDiv = id("pContentDiv");
var items = hasClass("item","div");
var itemsLength = items.length;
for(var i=0;i<itemsLength;i++){
var spans = tag("span",items[i]);
if(spans[1] && spans[1].getAttribute("value") != unsafeWindow.intAuthorId){
var delElem = spans[1].parentNode.parentNode;
pContentDiv.removeChild(delElem);
}
}
alert("只看楼主成功!")
};
})();
注意:intAuthorId虽然是全局变量,即window.intAuthorId,但油猴必须用 unsafeWindow.intAuthorId 来调用。