|
阅读:8486回复: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
天天看书,不过不到论坛,收藏待用
|
|
