firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
阅读:7505回复:10

[原创]油猴脚本论坛助手:推荐给喜欢看在线小说的朋友

楼主#
更多 发布于:2009-09-09 17:52
[源起-弱水三千吾只取一瓢饮]

经常访问论坛阅读在线小说,论坛发帖并不是按照时间排序,且论坛上小说很多,但我们往往只关注几部。因此经常刷新论坛页面,从上往下浏览许多帖子,挑出感兴趣的打开,每天重复很多次,很费眼睛,很累。油猴子装在Firefox上很久了,但基本上没用什么脚本,于是准备自己写个脚本玩玩。

[说明]
本人通常使用啃书论坛[http://www.kenshuw.com/forumdisplay.php?fid=12]阅读小说,因此针对该地址进行编写。其他更多情况请参考编写,且抛砖引玉,呵呵

关注主题使用正则表达式,可以根据自己需要,自行修改。

修改完毕后,再拖拽到Firefox安装


// ==UserScript==
// 使用说明        以UTF-8编码保存本脚本为名ShowConcernOnly.user.js文件,将其拖拽到Firefox完成安装即可
// 适用范围        原则上适用*forumdisplay*的php论坛,但需重新设定使用本脚本的网页地址
// 自定义主题      参考代码修改pattern变量即可
// @name           ShowConcernOnly
// @namespace      Concern
// @description    首先请修改脚本定义您自己关注的主题列表,之后脚本将隐藏论坛中不关注的主题。快捷键Ctrl+Z可以切换全部列表与关注列表
// @include        http://www.kenshuw.com/forumdisplay.php?fid=12*
// @include        http://bbs.whsee.com/forumdisplay.php?fid=5*
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js
// @require        http://js-hotkeys.googlecode.com/files/jquery.hotkeys-0.7.9.min.js
// ==/UserScript==

$(function(){
    //自定义关注主题,各个主题由竖线隔开即可;熟悉正则表达式的可自行编写
    var strKey='custom_ShowConcernOnly';
	
	//读取关键词,如果没有则要求输入
    var strPattern=GM_getValue(strKey,'');
    if(strPattern=='') {
        var text = navigator.language == "zh-CN" ? "请输入您的关注主题,以竖线“|”分隔开,如 firefox|鹿鼎记|风云\n我们将隐藏您不关注的主题,今后您可以按下快捷键[Alt+Z]进行修改" : "Please enter the concern words, split with '|'.";
        strPattern = prompt(text, GM_getValue(strKey, ""));
        if (strPattern != null) GM_setValue(strKey, strPattern);
        else strPattern = '';		
    }
	
    var pattern=new RegExp(strPattern);
       
    //被处理的对象,由于一般数据列表都用table实现,故仅对tr进行处理。
    var str='tr';

    //记录被隐藏的对象列表,供显示时使用
    var ht=[];
     
    //隐藏不关注的主题       
    $(str).each(function(){
        if(!pattern.test(this.innerHTML)) {
            $(this).hide();
            ht.push($(this));
        }
    });
     
    //隐藏没有可视内容的table     
    $('table:visible , div:visible').each(function(){     
        if($(this).find('tr:visible').size()==0) {
            $(this).hide();
            ht.push($(this));
        }
    });
     
    //通过快捷键Ctrl+Z,切换到显示全部主题.如需设定其他快捷键,请自行修改
    var bShowed=false;
    $(document).bind('keydown', 'ctrl+z', function(){
        if(bShowed){
            for ( var i=0 ; i < ht.length ; ++i ) ht[i].hide();
            bShowed=false;
        }else{
            for ( var i=0 ; i < ht.length ; ++i ) ht[i].show();
            bShowed=true;
        }
    });
	
    //通过快捷键Alt+Z,定制关键词
    $(document).bind('keydown','alt+z',function(){
        var text = navigator.language == "zh-CN" ? "请输入您的关注主题,以竖线“|”分隔开。" : "Please enter the concern words, split with '|'.";
        var result = prompt(text, GM_getValue(strKey, ""));
        if (result != null) {
            GM_setValue(strKey, result);
            document.location.reload();
        }
    });
	

    //显示一个提示框,当出现此提示框时已完成全部处理
    $('body').prepend('<div id="divShowConcernOnlyPlaceholder"></div>');
    $('body').append('<div id="divShowConcernOnly" style="position:fixed;top:0;left:0;width:100%;background-color:Yellow;border:1px solid #000000;font-weight:bold;padding:5px;">[Ctrl+Z]:切换全部主题/关注主题;&nbsp;&nbsp; [Alt+Z]:定制关注主题:'+strPattern+'</div>');
    $('#divShowConcernOnlyPlaceholder').height($('#divShowConcernOnly').height()+16);
});
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2009-09-09 17:52
这个好啊,怎么几天没人捧场,我极少看小说,纯属捧场。。。
MM:你是个外表冷酷,内心却很甜蜜的男人。
renior
火狐狸
火狐狸
  • UID12469
  • 注册日期2006-04-25
  • 最后登录2019-05-01
  • 发帖数169
  • 经验14枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
2楼#
发布于:2009-09-09 17:52
老书可看的不多了哦,还是关注下新的吧
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
3楼#
发布于:2009-09-09 17:52
hnstxx:这个好啊,怎么几天没人捧场,我极少看小说,纯属捧场。。。回到原帖


谢谢啊,终于有捧场的了!

其实这段脚本不仅仅用于看小说,可适用于大多数论坛,因为现在数据列表用table来显示还是主流。

adblock plus是过滤掉广告,这段脚本则是直接挑选出关注的主题。
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
4楼#
发布于:2009-09-09 17:52
改进了一下:
1.处理对象改为tr--适用范围更广
2.隐藏没有可视元素的table/div

这样子得到的结果更纯粹了些
placeless
狐狸大王
狐狸大王
  • UID9583
  • 注册日期2005-11-04
  • 最后登录2022-12-02
  • 发帖数475
  • 经验22枚
  • 威望0点
  • 贡献值12点
  • 好评度1点
  • 社区居民
5楼#
发布于:2009-09-09 17:52
有个图示范看看就好了
既非IE走狗,也非opera喽罗,木有火狐不上网...
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
6楼#
发布于:2009-09-09 17:52
placeless:有个图示范看看就好了回到原帖


看来对GreaseMonkey不熟啊,试一试不就知道了吗
firefox_userA
非常火狐
非常火狐
  • UID8049
  • 注册日期2005-08-17
  • 最后登录2022-11-05
  • 发帖数609
  • 经验46枚
  • 威望0点
  • 贡献值8点
  • 好评度2点
7楼#
发布于:2009-09-09 17:52
今天看了段别人的脚本,于是又改进了一下:
增加快捷键[Alt+Z]:定制关注主题并保存配置文件中,不用修改代码了
Love and DG
小狐狸
小狐狸
  • UID30485
  • 注册日期2009-09-26
  • 最后登录2009-10-03
  • 发帖数7
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2009-09-09 17:52
啃书论坛怎么样?平时都是去网站看,很少钻论坛看书
hfantasy
小狐狸
小狐狸
  • UID30369
  • 注册日期2009-09-13
  • 最后登录2009-10-30
  • 发帖数16
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2009-09-09 17:52
看上去很诱人,收下了~
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-03-25
  • 发帖数229
  • 经验160枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
10楼#
发布于:2009-09-09 17:52
天天看书,不过不到论坛,收藏待用
游客

返回顶部