本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

转播到腾讯微博
返回列表 回复 发帖

[修改发布] 翻页&预读脚本NextPage.uc.xul

本帖最后由 slimx 于 2012-6-26 23:40 编辑 (下载,请移步论坛的脚本站,这里不再提供单独的下载)
android版扩展请移步https://addons.mozilla.org/en-US/mobile/addon/nextpage-for-mobile/

源自sunwan的nextpage.user.js,作了彻底的重写,提高兼容性和效能.
兼容nlf的翻页规则(对大多数站点来说,规则不是必须的,不过可以免去在整个页面搜索的过程,进一步提高效率).

只在按键/手势发出才执行,并不是像user.js那样无论会不会用到都会计算.
也不必等到页面加载完(domcontentloaded)才可以执行.
充分的利用历史纪录,在当前分页中访问过的页面,可以瞬间呈现.
预读功能,兼容性不错,"瞬间"开启的效果.目前,只在firefox4下有效.

有无效的站点可以提出,最好提供完整的地址和详细的问题描述.

手势:
下一页代码是nextPage.next(true)
上一页的代码是nextPage.prev()或nextPage.next(false)
首页的代码是nextPage.first()
末页的代码是nextpage.last()
快捷键:
已经内置了快捷键键ctrl+→/ctrl+←,默认开启,不需要的话将key_use的值改为false,单用方向键的话将key_modifiers改为false



uc.js版不提供,可以自行修改,简单说一下方法,将<![CDATA[和]]>之间的代码保存为uc.js文件即可,注意编码为utf8.并且需要配合修改版的userchrome.js扩展(这个扩展只适用于fx4,也就是说您如果使用3.x,就不能用uc.js的方式)


附件: 您所在的用户组无法下载或查看附件
1

评分次数

  • dindog

本帖最后由 z344257899 于 2010-11-14 18:10 编辑

可以在小说网站上使用吗?

还有请问该脚本可以修改翻页的快捷键吗?
本帖最后由 getrix 于 2010-11-14 18:28 编辑

效果很不错,更新了。。。

PS:好像新的调用命令无效,原来的调用命令反而有效。

试用了几个网站(crsky,mtitme)好像问题很大。。。。
本帖最后由 slimx 于 2010-11-14 18:42 编辑

不好意思哈,确实搞错了,已经修改.

时光网确认,霏凡没有发现问题啊.
看代码好像都是js,为什么要用xul呢
firefox一直有个bug:xul加载时不能保证顺序加载,可能会导致xul加载不成功。
建议还是用js格式
我的blog,我写的脚本都在这里更新,欢迎提建议、需求和报告bug
http://bbs.crsky.com/thread.php?fid=7翻页,直接到700页
http://i.mtime.com/pic/blog/5166836/翻页,会在1,2,1,2,1.。。。之间循环。
本帖最后由 slimx 于 2010-11-14 19:16 编辑

6# getrix
我还以为是软件站,原来是论坛啊,不好意思,不是会员,也不开放下载,不能检查了.
时光网已经修正.
5# aryeah
js的话,中文和特殊字符必须要转码,为了避免这个问题,改用了xul,在这里解释过.或者,您或者谁可以提供一个js格式下的不需要转码的解决方案?非常感谢.
没有遇到过您说的xul不能加载的情况,是否userchrome.js版本或loader文件的问题?
随便找一个phpwind论坛
http://www.phpwind.net/thread-htm-fid-100.html
你可以试试。。。
8# getrix
修正
8# getrix
修正
slimx 发表于 2010-11-14 19:29
谢谢。
我就试了两个网站。。。
6# getrix  
我还以为是软件站,原来是论坛啊,不好意思,不是会员,也不开放下载,不能检查了.
时光网已经修正.
5# aryeah  
js的话,中文和特殊字符必须要转码,为了避免这个问题,改用了xul,在这里解释过.或者,您或者谁 ...
slimx 发表于 2010-11-14 19:07
原来你采用xul是因为翻页上的中文字。
记起来了,当初我也改过sunwan的那个脚本,同样遇到这个问题,费了好长时间用unicode替换。。。
期待高人提供解决办法(uc脚本要是能指定编码就好了,估计得改userChrome)

PS: 当有2个以上的xul脚本需要加载时可能会出问题。是firefox的bug - bug 330458 - 在一个overlay还未完成时如果调用另一个会导致两个都失败。
userChrome里面用了一个临时的解决办法,但是没有根本解决问题,只是使它出问题的几率降低了,我遇到过几次。

期待你这个脚本更加完善
我的blog,我写的脚本都在这里更新,欢迎提建议、需求和报告bug
本帖最后由 slimx 于 2010-11-14 20:54 编辑

不关userchrome的问题,即使是扩展中的js文件,似乎也是不支持中文的.
所以在没有找到更好的解法之前,还是维持xul格式好了.

有问题的话,可以试着再增加xul文件加载的延迟时间,1.x版本在扩展目录的content/userChromeJS.js文件,可以找到一句
  1. this._loadOverlayDelayIncr = 1600;
复制代码
试试改成3000或者更高
试用试用,必须的
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
请问怎么使用→和←键翻页?
另外 鼠标手势我使用MouseGestures2.uc.js 怎么才能用手势调用这个脚本翻页?
谢谢
附件: 您所在的用户组无法下载或查看附件
http://124.228.254.229/html/ent/20101107/153020.html
acfun的评论由于不明原因,试了几次,有时能翻一页,有时2页,用旧脚本能一直翻
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
本帖最后由 openicq 于 2010-11-14 21:08 编辑

使用→和←键翻页的问题自己解决了
用了辅助的nextPageKey.uc.js
把里边的accel删除了就好了(红色部分)
(function()
{
var keyset = document.getElementById("mainKeyset");
var next = keyset.appendChild(document.createElement("key"));
var pre = keyset.appendChild(document.createElement("key"));
next.setAttribute("oncommand","nextPage.next(true);");
pre.setAttribute("oncommand","nextPage.next();");
next.setAttribute("modifiers","accel");//下一页的辅助键,默认是ctrl
pre.setAttribute("modifiers","accel");//上一页
next.setAttribute("keycode","VK_RIGHT");//下一页的主键,默认是右
pre.setAttribute("keycode","VK_LEFT");//上一页的主键,默认是左

})();
就剩下怎么使用MouseGestures2.uc.js调用这个脚本翻页的问题了 继续请教
等正式版
15# dindog
无法重现.有没有主要是翻了一页又一页呢,还是一次性的翻了两页?
16# openicq
方向键调用的脚本已经放在一楼了
15# dindog
无法重现.有没有主要是翻了一页又一页呢,还是一次性的翻了两页?
slimx 发表于 2010-11-14 21:48
不是,是正常翻,第一次可以翻,第二次还可以翻,第三次就翻不了这种
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
本帖最后由 slimx 于 2010-11-14 22:27 编辑

明白了,不过还是无法重现
纯属猜测,可能是因为焦点在flash里,造成的无效?
我也不知怎么办了,回到3.6的profile,正常,4.0b8pre那个不行,不知是不是冲突了~~我再试试
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
16# openicq
方向键调用的脚本已经放在一楼了
slimx 发表于 2010-11-14 21:49
感谢~

另外 使用MouseGestures2.uc.js调用这个脚本翻页的问题自己解决了...
灰常简单 如一楼所示在MouseGestures2.uc.js里添加以下代码
  1.                        //上一页
  2.                        //使用NextPage.uc.xul脚本后生效
  3.                        case "U":
  4. nextPage.prev();break;
  5.                      
  6.                      //下一页
  7.                      //使用NextPage.uc.xul脚本后生效
  8.                      case "D":
  9. nextPage.next(true);break;
复制代码
按住鼠标右键向上划是上一页 按住鼠标右键向下划是下一页
不是,是正常翻,第一次可以翻,第二次还可以翻,第三次就翻不了这种
dindog 发表于 2010-11-14 22:03

第三次翻不了的时候鼠标左键点一下评论区域再翻页又可以了
但是到了第4页就再也翻不了了
24# openicq
也不是再也翻不了,我刚才实验是过大概10秒左右或者切换一下标签有一定几率又能翻了,不过就翻一页就停~~

同楼上对比一下症状~~
1.我是用鼠标手势触发命令的,firegesture
2.扩展没听用测试,把除userchrome.js,userchrome.css和这个翻页脚本外的所有uc脚本禁用了没效果。
3.userchrome.js用的是Sub-Script/Overlay Loader v3.0.29mod
我的回帖都是滥竽充数的,有其它人回帖时一般可以无视我哈~~
Ubuntu下用3.6.12测试了一下 翻页正常
也许是4.0的问题...最近的每夜版有些小毛病(比如看不了youku的视频)
7# slimx
我直接把xul文件和其他xul文件合写在同一个文件里了……
本帖最后由 ddrwin 于 2010-11-15 10:34 编辑

5# aryeah  
js的话,中文和特殊字符必须要转码,为了避免这个问题,改用了xul,在这里解释过.或者,您或者谁 ...
slimx 发表于 2010-11-14 19:07
多个xul文件确实容易把顺序弄错。建议slimx弄一个js版本吧。
我提供一下我转的中文代码:
  1. // 下一页链接里的文字
  2.     next.texts      = [ 'next',
  3.                         'next page',
  4.                         'old',
  5.                         'older',
  6.                         'earlier',
  7.                         '\u4E0B\u9875', //'下页',
  8.                         '\3E',//'>',
  9.                         '\u4E0B\u9801',//'下頁',
  10.                        '\u4E0B\u4E00\u9875',//'下一页',
  11.                         '\u4E0B\u4E00\u9801',//'下一頁',
  12.                         '\u540E\u4E00\u9875',//'后一页',
  13.                         '\u540E\u4E00\u9801',//'后一頁',
  14.                         '\u7FFB\u4E0B\u9875',//'翻下页',
  15.                         '\u7FFB\u4E0B\u9801',//'翻下頁',
  16.                         '\u540E\u9875',//'后页',
  17.                         '\u540E\u9801',//'后頁',
  18.                         '\u4E0B\u7FFB',//'下翻',
  19.                         '\u4E0B\u4E00\u4E2A',//'下一个',
  20.                         '\u4E0B\u4E00\u5F20',//'下一张',
  21.                         '\u4E0B\u4E00\u5E45',//'下一幅',
  22.                         '\u4E0B\u4E00\u8282',//'下一节',
  23.                         '\u4E0B\u4E00\u7AE0',//'下一章',
  24.                         '\u4E0B\u4E00\u7BC7',//'下一篇',
  25.                         '\u540E\u4E00\u7AE0',//'后一章',
  26.                         '\u540E\u4E00\u7BC7',//'后一篇'
  27.                       ];
  28.     // 上一页链接里的文字
  29.     previous.texts  = [ 'previous',
  30.                         'prev',
  31.                         'previous page',
  32.                         'new',
  33.                         'newer',
  34.                         'later',
  35.                         '\u4E0A\u9875', //'上页',
  36.                         '<',
  37.                        '\u4E0A\u9801 ',//'上頁',
  38.                        '\u4E0A\u4E00\u9875',//'上一页',
  39.                        '\u4E0A\u4E00\u9801',//'上一頁',
  40.                        '\u524D\u4E00\u9875',//'前一页',
  41.                         '\u524D\u4E00\u9801',//'前一頁',
  42.                        '\u7FFB\u4E0A\u9875',//'翻上页',
  43.                        '\u7FFB\u4E0A\u9801',//'翻上頁',
  44.                         '\u524D\u9875',//'前页',
  45.                        '\u524D\u9801',//'前頁',
  46.                         '\u4E0A\u7FFB',//'上翻',
  47.                         '\u4E0A\u4E00\u4E2A',//'上一个',
  48.                         '\u4E0A\u4E00\u5F20',//'上一张',
  49.                         '\u4E0A\u4E00\u5E45',//'上一幅',
  50.                        '\u4E0A\u4E00\u8282',//'上一节',
  51.                        '\u4E0A\u4E00\u7AE0',//'上一章',
  52.                         '\u4E0A\u4E00\u7BC7',//'上一篇',
  53.                        '\u524D\u4E00\u7AE0',//'前一章',
  54.                         '\u524D\u4E00\u7BC7',//'前一篇'
  55.                       ];
复制代码
喜欢js的,可以用旧版,在那个集合贴
路过,支持一下,
有空研究一下UC脚本..GM脚本限制多多..(chrome脚本,限制更多-_-!!)
-time wait for no one-