这是从 Firefox 的 firegesture 手势里移植过来的,做了一点点修改。这段代码可替代内置的命令:Fast Forward(打开下一页)。好处是获取下一页的链接更准(先判断 rel 为 next 的链接,再判断带有“下一页”等字样的链接,如果都没有,则网页地址自增 1),坏处是不简洁。
Go to page, "javascript: (function () { const PREV_NEXT = 'next'; const KEYWORDS = ['next', '下一页', '下页', '早期文章', '下一頁', '下頁', 'Previous Entries', '>', '>>']; function loadURI(url) { location.href = url; } function IncrementURL() { var url = location.href; if (!url.match(/(.*:\/\/.*\/.*)(\d+)(\D*)$/)) return false; var num = RegExp.$2; var digit = (num.charAt(0) == '0') ? num.length : null; num = parseInt(num, 10) + 1; if (num < 0) return false; num = num.toString(); digit = digit - num.length; for (var i = 0; i < digit; i++) num = '0' + num; loadURI(RegExp.$1 + num + RegExp.$3); } var doc = document; var links = doc.getElementsByTagName('link'); for (var i = 0; i < links.length; i++) { if (links[i].href && links[i].hasAttribute('rel') && links[i].getAttribute('rel').toLowerCase().indexOf(PREV_NEXT) == 0) { loadURI(links[i].href); return; } } var regexp = new RegExp('(' + KEYWORDS.join('|') + ')', 'i'); links = doc.links; for (i = 0; i < links.length; i++) { if (links[i].href && links[i].textContent && links[i].textContent.match(regexp) && links[i].offsetWidth > 0 && links[i].offsetHeight > 0) { if (links[i].href.indexOf('javascript') == 0) { links[i].click(); return; } else { var len = RegExp.$1.length; var per = (len == 1) ? 0.3 : 0.4; if (links[i].textContent.length * per < len) { loadURI(links[i].href); return; } } } } IncrementURL(); })();"
出于习惯,还可以在这条命令前加上 Wand 和 Forward 来增强下功能,即“登录或者前进,如果都不成功,则试图进入下一页”:
Wand | Forward | 上面代码
Clooney ordered to testify in fraud trial
gay porn and relieve pains and aches from migraines and arthritis
Women crazy buyying discount Ugg boots in summer
free hd porn wear it by wrapping it a couple of times around your wrist
200 Allen Edmonds has arrived
free black porn The first are the super wealthy
Dividend ETFs Outperform Their International Counterparts
anime porn If a store won’t pay what your items are worth
Growing fashion trends of Piercing Jewelry
cartoon porn what’s form
Top 10 Fashion and Style Tips For Women
youjizz But this business of fashion design does not
Ankle Boots with Skinny Jeans
free gay porn feather boas and fluffy feather trimmed clothes are hot again
NAR Chief Economist Comments on Housing
christina aguilera weight loss such as Dior
gay porn and relieve pains and aches from migraines and arthritis
Women crazy buyying discount Ugg boots in summer
free hd porn wear it by wrapping it a couple of times around your wrist
200 Allen Edmonds has arrived
free black porn The first are the super wealthy
Dividend ETFs Outperform Their International Counterparts
anime porn If a store won’t pay what your items are worth
Growing fashion trends of Piercing Jewelry
cartoon porn what’s form
Top 10 Fashion and Style Tips For Women
youjizz But this business of fashion design does not
Ankle Boots with Skinny Jeans
free gay porn feather boas and fluffy feather trimmed clothes are hot again
NAR Chief Economist Comments on Housing
christina aguilera weight loss such as Dior
这是沙发
这不是板凳
和这个比那个更有效率呢 :?:
[code]go to page, “javascript:var reg=’^(\u3010|\\[)?((\u4E0B|\u540E|\u7FFB)(\u4E00|\u4E0B|\u540E|\uFF11|1)?(\u9875|\u9801|\u7BC7|\u5F20|\u7AE0|\u8282)|next|NEXT|Next)(\u00A0|\u0020)*(]|\u3011|>|\u003E|\u00BB|\u203A|\u2192|\u21D2){0,2}$’;var links=document.links;var resolveurl=function(url){var link=document.createElement(‘a’);link.href=url;url=link.href;delete link;return url;};var k,t,h;for(k=0;k<links.length;k++){t=links[k].innerText;if(t.match(reg)){h=links[k].getAttribute('href');if(h=='#'||h.indexOf('javascript')!=-1){continue;};newurl=h;location.href=resolveurl(newurl);return;}}var adr=location.href;re=adr.match(/\d+/g);if(re){re=re[re.length-1];re2=(parseInt(re)+1)+'';while(re2.length<re.length){re2='0'+re2;};j=adr.lastIndexOf(re);adr2=adr.substring(0,j)+adr.substring(j,adr.length).replace(re,re2);location.href=adr2;}else{alert('No number found in url.')};"[/code]
差不多吧 = =
都是关键字判断,不行就网址自增1。上面那个多个rel判断(
不过貌似见得不多遇到了 =.=!),而你这个关键字多一点。文章中的那个要添加关键字,可以改这段代码:
大过年的消灭文囧
又有新东东。。研究一下 :idea:
好好学习,感谢分享
:?: 請問這是要怎麼用呢? :shock: 修改什麼文件嗎? :???: 謝謝
祝新春快樂 :roll:
新年好啊
Fast Forward 是 Opera 内部命令,在首选项里的设置键盘、设置鼠标手势等地方都能看到,而且连菜单、工具栏都能用。
详细的使用方法可以去 oc 看看教程(记得改 hosts 哦)
http://bbs.operachina.com/viewtopic.php?f=54&t=1679
万分感谢 :roll:
GestureRight=Forward | Fast forward, 0 | Go to page, “javascript: (function(){ const PREV_NEXT = ‘next’; const KEYWORDS = [‘next’, ‘下一页’, ‘>’, ‘>>’]; function loadURI(url){ location.href = url; } function IncrementURL() { var url = location.href; if (!url.match(/(.*:\/\/.*\/.*)(\d+)(\D*)$/)) return false; var num = RegExp.$2; var digit = (num.charAt(0) == ‘0’) ? num.length : null; num = parseInt(num, 10) + 1; if (num < 0) return false; num = num.toString(); digit = digit – num.length; for (var i = 0; i < digit; i++) num = '0' + num; loadURI(RegExp.$1 + num + RegExp.$3); } var doc = document; var links = doc.getElementsByTagName('link'); for (var i = 0; i < links.length; i++) { if (links[i].href && links[i].hasAttribute('rel') && links[i].getAttribute('rel').toLowerCase().indexOf(PREV_NEXT) == 0) { loadURI(links[i].href); return; } } var regexp = new RegExp('(?:' + KEYWORDS.join('|') + ')', 'i'); links = doc.links; for (i = 0; i < links.length; i++) { if (links[i].href && links[i].textContent && links[i].textContent.match(regexp)) { loadURI(links[i].href); return; } } IncrementURL(); })();"
我这样改有问题吗? :grin:
Go to page,”blablabla” 这部分是用来取代 Fast forward, 0 的“快进”功能的,有Fast forward, 0在前面的话后面的代码就失去意义了,所以Fast forward, 0应该去掉。
但是Fast forward, 0本身在某些情况下还兼具wand(即填写登录账号表单)的功能,而这个Go to page,”blablabla” 没有wand的功能。可以用Wand | Forward | Go to page,”blablabla” 或者 Forward | Wand | Go to page,”blablabla” 来弥补。
至于是Forward 在前还是wand在前,取决于想优先使用哪个。如果某页面既可以使用forward(前进)又可以使用wand, Wand | Forward | Go to page,”blablabla”就只执行wand;Forward | Wand | Go to page,”blablabla” 就只执行Forward了
A | B | C 形式意思是:优先执行A;A无法执行就试图执行B;AB都无法执行就试图执行C
原来 Fast Forward 还有 Wand 功能,我火星了 :cry:
小小的更新了下,加了点限制条件。解决类似饭否里翻页会跑到“取消关注”页面的问题。
貌似很有用的样子~~可我很懒了,现在菜单什么的都不想动了!! :eek: