QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3128|回复: 8

一个BT的插件

[复制链接]
发表于 2006-6-26 22:16:18 | 显示全部楼层 |阅读模式
这两天发现FF有一个插件,greasemonkey,很牛X,可以利用它自己再弄出FF插件来,今晚闲着没事,俺就弄了一个,功能是:可以过滤公社某些人在水园发的帖子。当然,过滤某人在公社其它所有版发的帖子也是可以的(不过滤回复)。
[code:1]
// Ignore
// version 0.1 BETA!
// 2006-06-26
// Copyright (c) 2006, dalin
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Ignore", and click Uninstall.
//
// --------------------------------------------------------------------
// ==UserScript==
// @name          Ignore
// @namespace     http://dalin.linuxsky.net
// @description   to ignore someone's post in Shuiyuan
// @include       http://linuxfans.org/nuke/modules.php?name=Forums&file=viewforum&f=1
// @include       http://linuxfans.org/nuke/modules.php?name=Forums&file=viewforum&f=1&*
// @include       http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewforum&f=1
// @include       http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewforum&f=1&*
// ==/UserScript==

var allTables,theTable,thisLink,allSpans,thisSpan;
var toBeIgnored;
toBeIgnored="";  //这里填入你想忽略的那个人的ID就行了,比如dalin。
allTables = document.getElementsByTagName('table');

allTables = document.evaluate(
   '//table[@class]',
   document,
   null,
   XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
   null);
   
for(i=0;allTables.snapshotLength; i++){
        theTable =allTables.snapshotItem(i);
       
        allSpans=document.evaluate(
                        "//span[@class='name']",
                        theTable,
                        null,
                   XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
                   null);
                  
        for(j=0;j<allSpans.snapshotLength; j++){
          thisSpan=allSpans.snapshotItem(j);
           thisLink = thisSpan.getElementsByTagName('a');
           if(thisLink[0].innerHTML == toBeIgnored){
                   thisSpan.parentNode.parentNode.innerHTML='';
           }
        }
}       
[/code:1]怎样装greasemonkey和用户脚本俺就不多说了,你可以试试效果。
实际上,这个的实际意义不大。
对我来说,实际意义更大的是把“单反”过滤掉,不过这太容易实现了,达不到学习写greasemonkey脚本的目的。
进一步目标是把回复也给过滤了,依然是没有啥实用意义……
发表于 2006-6-26 22:31:01 | 显示全部楼层
这么强
回复

使用道具 举报

发表于 2006-6-27 01:06:53 | 显示全部楼层
终于可以把单反过滤掉了
回复

使用道具 举报

 楼主| 发表于 2006-6-27 11:05:52 | 显示全部楼层
要过滤单反的脚本?
来了~~
[code:1]
// ==UserScript==
// @name          anti-DSLR
// @namespace     http://dalin.linuxsky.net
// @description   filter DSLR in the page
// @include       *
// ==/UserScript==

var re = /单反|dslr/gi; //要添加其它要过滤的,直接加进去就行了中间用|(或符号)隔开就行了
var newString = "大H疯了";//将被替换成什么
var allPosts,post;
allPosts = document.evaluate(
   "//span[@class='postbody']|//span[@class='postdetails']|//span[@class='topictitle']|//td[@class='quote']",
   document,
   null,
   XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
   null);

for(i=0;i<allPosts.snapshotLength;i++){
        post = allPosts.snapshotItem(i);
        post.innerHTML = post.innerHTML.replace(re,newString);
}
[/code:1]

因为用了中文,所以注意保存为utf-8格式。
回复

使用道具 举报

发表于 2006-6-27 11:18:06 | 显示全部楼层
哈哈~~~强!
应该授精
回复

使用道具 举报

发表于 2006-6-27 11:33:12 | 显示全部楼层
想起troll的id:seamonkey
回复

使用道具 举报

发表于 2006-6-27 11:33:50 | 显示全部楼层
[quote:f276ddf052="狂客"]哈哈~~~强!
应该授精 [/quote]
受精?   
回复

使用道具 举报

发表于 2006-6-27 11:50:31 | 显示全部楼层
dalin 加油, 写个完整的屏蔽插件, 好让我眼不见心不烦.
回复

使用道具 举报

发表于 2006-6-27 11:56:39 | 显示全部楼层
[quote:98fe32fb4e="fox_eagle2003"][quote:98fe32fb4e="狂客"]哈哈~~~强!
应该授精 [/quote]
受精?   [/quote]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 08:25 , Processed in 0.037436 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表