|
1 | 1 | // ==UserScript== |
2 | 2 | // @name 自动无缝翻页 |
3 | | -// @version 1.2.6 |
| 3 | +// @version 1.3.0 |
4 | 4 | // @author X.I.U |
5 | | -// @description 自动无缝翻页,目前支持:423Down、Apphot、不死鸟、小众软件、异次元软件、微当下载、异星软件空间、豆瓣电影、3DM、游民星空、千图网、RARBG、FitGirl Repacks、AlphaCoders、PubMed、三国杀论坛、百分浏览器论坛... |
6 | | -// @match *://www.423down.com/* |
| 5 | +// @description 自动无缝翻页,目前支持:所有 Discuz!论坛、423Down、Apphot、不死鸟、小众软件、异次元软件、微当下载、异星软件空间、豆瓣电影、3DM游戏网、游民星空、千图网、RARBG、FitGirl Repacks、AlphaCoders、PubMed... |
| 6 | +// @match *://*/* |
7 | 7 | // @exclude *://www.423down.com/*.html |
8 | | -// @match *://apphot.cc/* |
9 | 8 | // @exclude *://apphot.cc/*.html |
10 | | -// @match *://iao.su/* |
11 | | -// @match *://www.appinn.com/ |
12 | | -// @match *://www.appinn.com/*/*/ |
13 | | -// @match *://www.appinn.com/?s=* |
14 | | -// @match *://www.iplaysoft.com/* |
15 | | -// @match *://www.weidown.com/* |
16 | | -// @match *://fitgirl-repacks.site/* |
17 | | -// @match *://*.alphacoders.com/* |
18 | | -// @match *://club.sanguosha.com/* |
19 | | -// @match *://www.centbrowser.net/* |
20 | | -// @match *://pubmed.ncbi.nlm.nih.gov/?term=* |
21 | | -// @match *://movie.douban.com/* |
22 | | -// @match *://search.douban.com/* |
23 | | -// @match *://www.3dmgame.com/bagua/*.html |
24 | | -// @match *://www.gamersky.com/ent/*/*.shtml |
25 | | -// @match *://www.58pic.com/* |
26 | | -// @match *://rarbgprx.org/torrents.php* |
27 | | -// @match *://www.yxssp.com/* |
28 | 9 | // @icon https://i.loli.net/2021/03/07/rdijeYm83pznxWq.png |
29 | 10 | // @grant GM_xmlhttpRequest |
30 | 11 | // @grant GM_registerMenuCommand |
31 | 12 | // @grant GM_openInTab |
| 13 | +// @grant GM_getValue |
| 14 | +// @grant GM_setValue |
32 | 15 | // @license GPL-3.0 License |
33 | 16 | // @run-at document-end |
34 | 17 | // @namespace https://github.com/XIU2/UserScript |
35 | 18 | // @supportURL https://github.com/XIU2/UserScript |
36 | 19 | // @homepageURL https://github.com/XIU2/UserScript |
37 | 20 | // ==/UserScript== |
38 | 21 |
|
39 | | -'use strict'; |
40 | 22 | (function() { |
| 23 | + 'use strict'; |
| 24 | + if (GM_getValue('menu_disable') == null){GM_setValue('menu_disable', [])}; |
41 | 25 | // 注册脚本菜单 |
| 26 | + if (menu_disable('check')) { // 当前网站是否已存在禁用列表中 |
| 27 | + GM_registerMenuCommand('❎ 已禁用 (点击对当前网站启用)', function(){menu_disable('del')}); |
| 28 | + return |
| 29 | + } else { |
| 30 | + GM_registerMenuCommand('✅ 已启用 (点击对当前网站禁用)', function(){menu_disable('add')}); |
| 31 | + } |
42 | 32 | GM_registerMenuCommand('💬 反馈 & 欢迎申请支持', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});window.GM_openInTab('https://greasyfork.org/zh-CN/scripts/419215/feedback', {active: true,insert: true,setParent: true});}); |
43 | 33 |
|
44 | 34 | // 默认 ID 为 0 |
|
50 | 40 | // scrollDelta:数值越大,滚动条触发点越靠上(越早开始翻页),一般是访问网页速度越慢,该值就需要越大 |
51 | 41 | // function:before = 插入前执行函数;after = 插入后执行函数;parameter = 参数 |
52 | 42 | let DBSite = { |
53 | | - _423down_postslist: { |
| 43 | + discuz_forum: { |
54 | 44 | SiteTypeID: 1, |
| 45 | + pager: { |
| 46 | + type: 2, |
| 47 | + nextLink: '#autopbn', |
| 48 | + nextText: '下一页 »', |
| 49 | + scrollDelta: 1000 |
| 50 | + } |
| 51 | + }, |
| 52 | + discuz_thread: { |
| 53 | + SiteTypeID: 2, |
| 54 | + pager: { |
| 55 | + type: 1, |
| 56 | + nextLink: '//a[@class="nxt"][@href]', |
| 57 | + pageElement: 'css;div#postlist > div[id^="post_"]', |
| 58 | + HT_insert: ['css;div#postlist', 3], |
| 59 | + replaceE: 'css;div.pg', |
| 60 | + scrollDelta: 1000 |
| 61 | + } |
| 62 | + }, |
| 63 | + discuz_search: { |
| 64 | + SiteTypeID: 3, |
| 65 | + pager: { |
| 66 | + type: 1, |
| 67 | + nextLink: '//a[@class="nxt"][@href]', |
| 68 | + pageElement: 'css;div#threadlist > ul', |
| 69 | + HT_insert: ['css;div#threadlist', 3], |
| 70 | + replaceE: 'css;div.pg', |
| 71 | + scrollDelta: 1000 |
| 72 | + } |
| 73 | + }, |
| 74 | + _423down_postslist: { |
| 75 | + SiteTypeID: 4, |
55 | 76 | pager: { |
56 | 77 | type: 1, |
57 | 78 | nextLink: '//div[@class="paging"]//a[contains(text(),"下一页")][@href]', |
|
62 | 83 | } |
63 | 84 | }, |
64 | 85 | apphot_postslist: { |
65 | | - SiteTypeID: 2, |
| 86 | + SiteTypeID: 5, |
66 | 87 | pager: { |
67 | 88 | type: 1, |
68 | 89 | nextLink: '//div[@class="pagination"]//a[contains(text(),"下一页")][@href]', |
|
73 | 94 | } |
74 | 95 | }, |
75 | 96 | iao_su_postslist: { |
76 | | - SiteTypeID: 3, |
| 97 | + SiteTypeID: 6, |
77 | 98 | pager: { |
78 | 99 | type: 1, |
79 | 100 | nextLink: '//li[@class="btn btn-primary next"]//a[@href]', |
|
87 | 108 | } |
88 | 109 | }, |
89 | 110 | appinn_postslist: { |
90 | | - SiteTypeID: 4, |
| 111 | + SiteTypeID: 7, |
91 | 112 | pager: { |
92 | 113 | type: 1, |
93 | 114 | nextLink: '//a[@class="next page-numbers"][@href]', |
|
98 | 119 | } |
99 | 120 | }, |
100 | 121 | iplaysoft_postslist: { |
101 | | - SiteTypeID: 5, |
| 122 | + SiteTypeID: 8, |
102 | 123 | pager: { |
103 | 124 | type: 1, |
104 | 125 | nextLink: '//div[@class="pagenavi"]//a[@title="下一页"][@href]', |
|
112 | 133 | } |
113 | 134 | }, |
114 | 135 | iplaysoft_postcomments: { |
115 | | - SiteTypeID: 6, |
| 136 | + SiteTypeID: 9, |
116 | 137 | pager: { |
117 | 138 | type: 2, |
118 | 139 | nextLink: '#loadHistoryComments', |
119 | 140 | nextText: '展开后面', |
120 | 141 | scrollDelta: 1200 |
121 | 142 | } |
122 | 143 | }, |
123 | | - discuz_forum: { |
124 | | - SiteTypeID: 7, |
125 | | - pager: { |
126 | | - type: 2, |
127 | | - nextLink: '#autopbn', |
128 | | - nextText: '下一页 »', |
129 | | - scrollDelta: 1000 |
130 | | - } |
131 | | - }, |
132 | | - discuz_thread: { |
133 | | - SiteTypeID: 8, |
134 | | - pager: { |
135 | | - type: 1, |
136 | | - nextLink: '//a[@class="nxt"][@href]', |
137 | | - pageElement: 'css;div#postlist > div[id^="post_"]', |
138 | | - HT_insert: ['css;div#postlist', 3], |
139 | | - replaceE: 'css;div.pg', |
140 | | - scrollDelta: 1000 |
141 | | - } |
142 | | - }, |
143 | | - discuz_search: { |
144 | | - SiteTypeID: 9, |
145 | | - pager: { |
146 | | - type: 1, |
147 | | - nextLink: '//a[@class="nxt"][@href]', |
148 | | - pageElement: 'css;div#threadlist > ul', |
149 | | - HT_insert: ['css;div#threadlist', 3], |
150 | | - replaceE: 'css;div.pg', |
151 | | - scrollDelta: 1000 |
152 | | - } |
153 | | - }, |
154 | 144 | pubmed_postslist: { |
155 | 145 | SiteTypeID: 10, |
156 | 146 | pager: { |
|
392 | 382 | case "mobile.alphacoders.com": |
393 | 383 | curSite = DBSite.wall_alphacoders; |
394 | 384 | break; |
395 | | - case "club.sanguosha.com": // Discuz! 论坛专用 |
396 | | - case "www.centbrowser.net": |
397 | | - if (location.pathname.indexOf('.html') > -1) { // 判断是不是静态网页(.html 结尾) |
398 | | - if (location.pathname.indexOf('forum') > -1) { // 各版块帖子列表 |
399 | | - curSite = DBSite.discuz_forum; |
400 | | - } else if (location.pathname.indexOf('thread') > -1) { // 帖子内 |
401 | | - curSite = DBSite.discuz_thread; |
402 | | - hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮 |
403 | | - }else if(location.pathname.indexOf('search') > -1) { // 搜索结果 |
404 | | - curSite = DBSite.discuz_search; |
405 | | - } |
406 | | - } else { |
407 | | - if (location.search.indexOf('mod=forumdisplay') > -1) { // 各版块帖子列表 |
408 | | - curSite = DBSite.discuz_forum; |
409 | | - } else if (location.search.indexOf('mod=viewthread') > -1) { // 帖子内 |
410 | | - curSite = DBSite.discuz_thread; |
411 | | - hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮 |
412 | | - } else if (location.pathname.indexOf('search') > -1) { // 搜索结果 |
413 | | - curSite = DBSite.discuz_search; |
414 | | - } |
415 | | - } |
416 | | - break; |
417 | 385 | case "pubmed.ncbi.nlm.nih.gov": |
418 | 386 | curSite = DBSite.pubmed_postslist; |
419 | 387 | break; |
|
447 | 415 | case "rarbgprx.org": |
448 | 416 | curSite = DBSite.rarbgprx; |
449 | 417 | break; |
| 418 | + default: // < Discuz! 论坛专用 > |
| 419 | + if (document.querySelector('meta[content*="Discuz!"]')) { |
| 420 | + if (location.pathname.indexOf('.html') > -1) { // 判断是不是静态网页(.html 结尾) |
| 421 | + if (location.pathname.indexOf('forum') > -1) { // 各版块帖子列表 |
| 422 | + curSite = DBSite.discuz_forum; |
| 423 | + } else if (location.pathname.indexOf('thread') > -1) { // 帖子内 |
| 424 | + curSite = DBSite.discuz_thread; |
| 425 | + hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮 |
| 426 | + }else if(location.pathname.indexOf('search') > -1) { // 搜索结果 |
| 427 | + curSite = DBSite.discuz_search; |
| 428 | + } |
| 429 | + } else { |
| 430 | + if (location.search.indexOf('mod=forumdisplay') > -1) { // 各版块帖子列表 |
| 431 | + curSite = DBSite.discuz_forum; |
| 432 | + } else if (location.search.indexOf('mod=viewthread') > -1) { // 帖子内 |
| 433 | + curSite = DBSite.discuz_thread; |
| 434 | + hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮 |
| 435 | + } else if (location.pathname.indexOf('search') > -1) { // 搜索结果 |
| 436 | + curSite = DBSite.discuz_search; |
| 437 | + } |
| 438 | + } |
| 439 | + } |
450 | 440 | } |
451 | 441 | curSite.pageUrl = ""; // 下一页URL |
452 | 442 | pageLoading(); // 自动无缝翻页 |
|
549 | 539 | } |
550 | 540 |
|
551 | 541 |
|
| 542 | + // 启用/禁用 (当前网站) |
| 543 | + function menu_disable(type) { |
| 544 | + switch(type) { |
| 545 | + case 'check': |
| 546 | + if(check()) return true |
| 547 | + return false |
| 548 | + break; |
| 549 | + case 'add': |
| 550 | + add(); |
| 551 | + break; |
| 552 | + case 'del': |
| 553 | + del(); |
| 554 | + break; |
| 555 | + } |
| 556 | + |
| 557 | + function check() { // 存在返回真,不存在返回假 |
| 558 | + let websiteList = GM_getValue('menu_disable'); // 读取网站列表 |
| 559 | + if (websiteList.indexOf(location.host) === -1) return false // 不存在返回假 |
| 560 | + return true |
| 561 | + } |
| 562 | + |
| 563 | + function add() { |
| 564 | + if (check()) return |
| 565 | + let websiteList = GM_getValue('menu_disable'); // 读取网站列表 |
| 566 | + websiteList.push(location.host); // 追加网站域名 |
| 567 | + GM_setValue('menu_disable', websiteList); // 写入配置 |
| 568 | + location.reload(); // 刷新网页 |
| 569 | + } |
| 570 | + |
| 571 | + function del() { |
| 572 | + if (!check()) return |
| 573 | + let websiteList = GM_getValue('menu_disable'), // 读取网站列表 |
| 574 | + index = websiteList.indexOf(location.host); |
| 575 | + websiteList.splice(index, 1); // 删除网站域名 |
| 576 | + GM_setValue('menu_disable', websiteList); // 写入配置 |
| 577 | + location.reload(); // 刷新网页 |
| 578 | + } |
| 579 | + } |
| 580 | + |
| 581 | + |
552 | 582 | // 滚动条事件 |
553 | 583 | function windowScroll(fn1) { |
554 | 584 | var beforeScrollTop = document.documentElement.scrollTop, |
|
0 commit comments