時計坂一刻館三号室

[080418] 天涯助手 1.3:高亮楼主 && 只看楼主 (UserScript)

屈超(沙滩凉鞋) 发表于 2008 年 4月 18 日 12 时 48 分

[080418]
修正本脚本在天涯某些使用 Ajax 进行分页的版面里无法正确获取首页楼主 ID 的 Bug……
使用鄙人所架设的 ChinaList for Pagerization 源的朋友……
如果想更好使用本脚本……
请在 Pagerization 的 Excluded Pages 添加以下页面……

http://cache.tianya.cn/publicforum/content/*
http://cache.tianya.cn/techforum/content/*
http://*.tianya.cn/new/publicforum/Content.asp?idWriter=*
http://*.tianya.cn/new/techforum/Content.asp?idWriter=*

经过鄙人测试……
该脚本应该算是比较圆满了……
如没有大的问题就不会再更新了……
:)

[080417]
终于解决了此脚本运行时出现的兼容问题……
我开始以为是 FF2 和 FF3 所渲染出来的页面差异问题……
害我昨天的更新还专门针对浏览器的大版本来区别处理……
今天找 ObiWan 测试后才知道“全世界”就我的 Firefox 渲染出来的页面代码不同……(笑)
我的系统和环境基本都是英文的……
不知道和语言版本有没有关系……
不过算了……
既然代码有些许不同……
我只好用正则来解决了……
起初怕正则效率低影响大伙儿的看帖热情……
写完后测试下发现还不错……
哎……
早就该采用正则 + Xpath 这样比较科幻的方法来解决的……
害我昨天白更新了……

浮动控制栏 今天最大的更新是添加了“浮动控制栏”……
Skyee 说这种方便的玩意儿是“小白专用”的……
那我觉得他应该就算最大的小白了……
浮动栏的效果不错……(如右图)
还可以从猴子命令里进行隐藏哟……(-__-|)

1.2 的更新内容如下:
1.添加浮动控制栏……
2.修正某些 Bug ……
3.改用正则替换解决版本间兼容问题……

============================================

[080416]
发布后收到许多 FF2 用户不能正常使用的反馈……
坐下来研究了下……
原来是 FF2 和 FF3 对 HTML 源码进行整理的结果不同所致……
无奈只能找出尘封已久的 FF2.0.014 测试并更新……
目前应该能支持 FF2 平台了……
另外……
Adblock+Firebug 等会对页面源码进行修改的插件也在一定程度上影响了脚本效果……
我只能尽可能地加以兼容……
GreaseMonkey 本身对脚本的影响也不小……
比如某些旧版本的猴子在读写选项值时是不支持 Unicode 字符的……
就需要用 encodeURI 和 decodeURI 加以处理……

1.1 的更新内容如下:
1.支持 FF2 平台……
2.修正某些 Bug ……
3.缩小代码重构范围来提高速度……

ToDo:
1.完善对某些特殊版面(使用 js 分页)的支持……
目前仅支持该类型版面(如开心乐园)帖子的第一页……

2.增加浮动按钮方便激活功能……
3.消除与 Pagerization 的冲突……

============================================

[080415]
几个月前就答应 Skyee 君要编写这样一个用户脚本(GreaseMonkey UserScript)……
而当时也确实着手去写了一个……
无奈天涯社区里帖子的 HTML 代码实在是太不规范……
无法用 XPath 去做预想中的操作……
然后编写工作就中断了……

近来天涯俨然成了我等“愤怒青年”(笑)的集散地……
闲暇时刻要在那里耗费不少时间……
而帖子里主次不分的回复也着实让俺深切体会到了 Skyee 君的痛苦……
于是乎俺下定决心要写为天涯论坛写一个“只看楼主”的猴子脚本了……

花了两个晚上的时间……
终于实现了这个功能……
天涯社区的帖子代码嵌套有不小问题……
导致 DOM 树生长得很畸形……
因此 XPath 只用在了取楼主 ID 这样的小地方……
真正的操作还是通过重构源码来实现的……
有兴趣的朋友还是直接看代码吧……

该脚本为用户提供了两个主要的功能……
一是仅显示楼主所发的帖子……(Ctrl - Y)
二是高亮显示楼主所发的帖子……(Alt - Y)
个人觉得第二个功能似乎还要更常用一些……
毕竟天涯里的回帖也是战斗的乐趣所在……
因此俺给高亮功能提供了较大的自由度……
你可以通过编写 CSS 自定义高亮的效果……
(默认是粗体+红色边框…… 详见后面的截图)

除了  Ctrl - Y 和 Alt - Y 两个快捷键……
你还可以通过状态栏的猴子的菜单命令来控制……
在猴子图标上点击右键并选择 User Script Commands……
选单中……
1.天涯助手 - 只看楼主/恢复
2.天涯助手 - 高亮楼主/恢复
3.天涯助手 - 隐藏浮栏/恢复
(自 1.2 起添加了浮动控制栏可供更方便地操作……)

下面来讲解一下功能配置……
在 GreaseMoneky 中选中本脚本并进行编辑……
脚本信息的下方便是配置代码段……

  1. /*-----------------------------------------------------------------------------
  2. * Configuration
  3. *-------------------------------------------------------------------------- */
  4. // Auto show author's only? [true or false]
  5. var AUTO_ENABLE = false;
  6.  
  7. // Auto highlight author's? [true or false]
  8. var AUTO_HIGHLIGHT = false;
  9.  
  10. // Disable the hotkeys? [true or false] (Note: Ctrl-Y to hide/show; Alt-Y to highlight/restore)
  11. var DISABLE_HOTKEY = false;
  12.  
  13. // Hightlight style, Sample: font-weight:bold!important;border:1px solid red;
  14. var HIGHLIGHT_STYLE = '';
  15.  
  16. // Normal style, Sample: font-weight:normal!important;border:0;
  17. var NORMAL_STYLE = '';

其中……
AUTO_ENABLE 设置是否自动开启“只看楼主”功能……(true 或 false)
AUTO_HIGHLIGHT 设置是否自动开启“高亮楼主”功能……(true 或 false)
DISABLE_HOTKEY 设置是否禁用快捷键……(Ctrl - Y 和 Alt - Y)
HIGHLIGHT_STYLE 设置高亮帖子的 CSS ……(默认是粗体加红框显示)
NORMAL_STYLE 设置非高亮状态时的 CSS ……

说这么多不如直接给出截图……
(截图来源于此贴……
如果您觉得截图内容侵犯了您的权益……
请联系我移除……)

原始状态:
原始状态

只看楼主 (Ctrl-Y):
只看楼主 (Ctrl-Y)

高亮楼主 (Alt-Y):
高亮楼主 (Alt-Y)

猴子命令:
高亮楼主 (Alt-Y)

浮动控制栏:
浮动控制栏

功能就介绍到这里……
感兴趣的朋友可以直接下载试用……
国外用户:http://www.QuChao.com/Projects/UserScripts/Tianya_Helper.user.js
国内用户:http://VIP.YYJoy.com/Chappell/UserScripts/Tianya_Helper.user.js
脚本官方http://UserScripts.org/Scripts/Source/25213.User.js

有什么意见和建议就留言吧……
如有需要俺会及时更新的……
今天就到这里吧……

[080404] ChinaList for Pagerization 支持 VeryCD 全站

屈超(沙滩凉鞋) 发表于 2008 年 4月 4 日 0 时 30 分

终于有时间更新了……
因为老外的两个数据源已经不再支持 Baidu ……
那么我的 ChinaList 理所当然得接过了这个任务……
目前修复了百度绝大部分的常用服务……
除了图片和视频……
前者是使用 js 生成的链接……
后者则是用 js 控制着排版……
虽然最新版本的 Pagerization 已然增加对前者类型的支持……
(也就是说 cnBeta 这样的站将有可能自动滚屏成功……)
但 ChinaList 是一个 XPath 专用源……
如果添加了类似站点的支持……
不知道会不会对不同滚屏脚本的兼容度造成影响……
因此我暂时没有添加对百度图片的滚屏支持……
而百度视频由于排版的关系将不予支持……
规则已经注释在 ChinaList 页面源码内……
有兴趣地可以自行浏览……

目前我使用 FF3B4 + GreaseMonkey 0.7.20080121.0 + Pagerization 0.2.2a ……
使用正常……
(重新安装 Pagerization 别忘了添加 ChinaList 喔……)

=============== 华丽地分割 =================

沉寂了多日……
今天终于忍不住更新了……
为了方便自己长期关注“天使也魔鬼” MM ……
我终于加入了对 Mop 贴贴 的支持……
这样就能“一拖到底”了……
更有甚者居然要求我编写“只看楼主”的用户脚本……
我艹……
好色也该有个限度吧……
另附“天使也魔鬼”的更新帖地址供大伙儿体验……
请猛击:http://tt.mop.com/club/read_2033236.html

=============== 华丽地分割 =================

Pagerizations 是著名 Firefox 扩展—— GreaseMonkey 的一个 User Script……
简而言之就是一款用于自动读取分页形式下次页内容的脚本……
(与我之前写的 Baidu Auto Pager 效果相同…… 甚至更好……)
难能可贵的是作者为这个脚本实现了“数据源”的概念……
脚本自动缓存数据源的分页规则……
遇到匹配的网站便找出规则分析并予以处理……
目前官方非官方的数据源已经能处理数十个站点的分页了……
但其中外文站点占了绝大多数……
因此作为这个脚本的绝对拥趸……
我曾想过自己 Host 一个中文站点的数据源……
可惜人太懒……
未能付诸行动……

恰逢昨天有朋友通过 Baidu Auto Pager 的页面找到我……
希望我能帮忙编写“百度知道”的自动翻页脚本……
我想了一下……
与其另写一个脚本……
倒不如提供自己常用分页规则给大家……
于是乎……
我建立了这个名为“ChinaList for Pagerization”的源……

国内用户:http://vip.yyjoy.com/chappell/chinalist
国外用户:http://www.quchao.com/projects/chinalist

使用方法很简单……
先打开 Firefox gm_scripts 目录下的 Pagerization.user.js 文件……
再从上方两个数据源中选择适于自己网络环境的那个地址……
将其加入 SITEINFO_URL 数组……
添加完毕后……
数据源的定义部分应该看起来像这样:

  1. var SITEINFO_URL = [
  2. 'http://k75.s321.xrea.com/pagerization/siteinfo#function', // Official release data
  3. 'http://swdyh.infogami.com/autopagerize', // Autopagerize Wiki data. Xpath ONLY!!
  4. 'http://vip.yyjoy.com/chappell/chinalist', // ChinaList. Xpath ONLY!!
  5. ];

接着右键点一下小猴子的头像……
选择 User Script CMD -> Cache Update ……
当弹出 “Cache update complete” 后就算是添加完毕了……
接下来你就可以在 ChinaList 所定义的中文站点中享受自动翻页的服务了……

PS.
我希望作者能够将其作为原始数据源加入 Pagerization ……
那样就可以免去以上繁琐的更新过程了……

有点儿晚了……
睡觉觉去……

更新日志:
[071103]

初始版本,支援 Baidu (部分)、iAsk (几乎全部)和 BXNA ……

[071104]

支援 Sogou 全站、MXNA ……

[071106]

支援 Engadget、AutoBlog(除英文)……

[071109]

支援 Yahoo 全站(除“吃住玩”)……

[071113]

支援 XiaoNei 全站、TianYa 帖子……

[071117]

支援 YoDao 全站(除图片搜索)……

[080107]

支援 Mop 贴贴(不支持框架)……

[080120]

支援 Yupoo 全站……

[080329]

重新支援 Baidu 大部分服务……

[080404]

支援 VeryCD 全站……

[2007.07.20] Baidu Auto Pager 1.1 (A GreaseMonkey Addon)

屈超(沙滩凉鞋) 发表于 2007 年 7月 20 日 7 时 50 分

[2007.07.20]
刚去 UserScripts 找脚本时顺便看了一下自己的页面……
寒……
居然还有留言……
仔细一看……
人家是报错的……
原来上次提交的时候传了个未写完的文件……
这次修正了……
顺便添加了个页数显示……
PS.
实际上俺自己已经开始用 Pagerization 了……
真是不厚道……

[2007.06.02]
为了节省资源一直不敢用 GreaseMonkey ……
昨天实在受不了 IE TabBtChina 的处理速度了……
于是可耻地向 GreaseMonkey 妥协了……
果然装了 Show Btchina 之后访问它起来就快多了……
(而且连广告都没有了……)
之后还装了 GoogleAutoPager 等 Addons ……

接着就自己写了一个 BaiduAutoPager ……
由于百度惯用 GB2312 ……
因此正好利用 Firefox 的 overrideMimeType 特性来解决 XMLHTTP 乱码问题……
暂时还没支持 Baidu MP3贴吧等部分……
等下次升级吧……

作用嘛……
不用多说了……
就是随着页面不断往下翻页……
陆续在同一页面显示下个分页的 Baidu 的搜索结果……
当然前提是搜索结果足够多……
双击页面即可开/关这个功能……

上个图看看……

Demo for BaiduAutoPager 1.0

GreaseMonkey 用户可直接点下列 URI 进行安装:
http://userscripts.org/scripts/source/9610.user.js

播放器加载中……
读取中……
图书数据加载中……
读取中……
剧集数据加载中……
读取中……
专辑数据加载中……
读取中……
游戏数据加载中……
读取中……
歌曲数据加载中……
读取中……
股票数据加载中……
读取中……
通讯方式加载中……
读取中……
QR Code 加载中……
读取中……