我讀過的博客有一些討厭的評論者。我以爲我會試着用Greasemonkey來關閉它們。用Greasemonkey刪除列表元素
的HTML的基本結構很簡單 - 評論看起來是這樣的:
<li>
<cite>user name ...</cite>
comment text
</li>
所以考慮到這一點,我撞壞我的頭靠在鍵盤一段時間,直到這退學:
var killlist = /user1|user2/;
var comments = document.getElementsByTagName('li');
if (comments.length) {
for (var i = 0; i < comments.length; i ++) {
var comment = comments[i];
var cites = comment.getElementsByTagName('cite');
if (cites.length) {
var cite = cites[0];
var title = cite.textContent;
if (killlist.test(title)) {
comment.parentNode.removeChild(comment);
}
}
}
}
window.alert('Done!')
(該window.alert
只是讓我知道,如果腳本運行到完成)
這大多工作。例如在一個測試頁面上,它刪除了其中一個用戶的16個帖子中的13個。我試着用這個代替removeChild之行:
comment.style.visibility = 'hidden';
這似乎得到一切,但留下巨大的空白空間,其中的意見本來的代價。
我是一個完整的JavaScript新手,所以任何人都可以看到任何明顯的我做錯了嗎?
我想知道如果這可能是一個問題,所以我嘗試做一個數組來評論刪除,然後刪除frrom它,但無濟於事。但目前看起來很有希望!我會再測試一下,然後再回來。 – 2009-08-14 02:31:45