阅读:7929回复:10
[原创]油猴脚本论坛助手:推荐给喜欢看在线小说的朋友
[源起-弱水三千吾只取一瓢饮]
经常访问论坛阅读在线小说,论坛发帖并不是按照时间排序,且论坛上小说很多,但我们往往只关注几部。因此经常刷新论坛页面,从上往下浏览许多帖子,挑出感兴趣的打开,每天重复很多次,很费眼睛,很累。油猴子装在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]:切换全部主题/关注主题; [Alt+Z]:定制关注主题:'+strPattern+'</div>'); $('#divShowConcernOnlyPlaceholder').height($('#divShowConcernOnly').height()+16); }); |
|
1楼#
发布于:2009-09-09 17:52
这个好啊,怎么几天没人捧场,我极少看小说,纯属捧场。。。
|
|
|
2楼#
发布于:2009-09-09 17:52
老书可看的不多了哦,还是关注下新的吧
|
|
3楼#
发布于:2009-09-09 17:52
|
|
4楼#
发布于:2009-09-09 17:52
改进了一下:
1.处理对象改为tr--适用范围更广 2.隐藏没有可视元素的table/div 这样子得到的结果更纯粹了些 |
|
5楼#
发布于:2009-09-09 17:52
有个图示范看看就好了
|
|
|
6楼#
发布于:2009-09-09 17:52
|
|
7楼#
发布于:2009-09-09 17:52
今天看了段别人的脚本,于是又改进了一下:
增加快捷键[Alt+Z]:定制关注主题并保存配置文件中,不用修改代码了 |
|
8楼#
发布于:2009-09-09 17:52
啃书论坛怎么样?平时都是去网站看,很少钻论坛看书
|
|
9楼#
发布于:2009-09-09 17:52
看上去很诱人,收下了~
|
|
10楼#
发布于:2009-09-09 17:52
天天看书,不过不到论坛,收藏待用
|
|