Skip to content

Commit 0a4033f

Browse files
committed
新增 支持所有 Discuz!论坛; 新增 对当前网站启用/禁用自动无缝翻页的脚本开关
1 parent f81a94c commit 0a4033f

1 file changed

Lines changed: 112 additions & 82 deletions

File tree

Autopage.user.js

Lines changed: 112 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,34 @@
11
// ==UserScript==
22
// @name 自动无缝翻页
3-
// @version 1.2.6
3+
// @version 1.3.0
44
// @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 *://*/*
77
// @exclude *://www.423down.com/*.html
8-
// @match *://apphot.cc/*
98
// @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/*
289
// @icon https://i.loli.net/2021/03/07/rdijeYm83pznxWq.png
2910
// @grant GM_xmlhttpRequest
3011
// @grant GM_registerMenuCommand
3112
// @grant GM_openInTab
13+
// @grant GM_getValue
14+
// @grant GM_setValue
3215
// @license GPL-3.0 License
3316
// @run-at document-end
3417
// @namespace https://github.com/XIU2/UserScript
3518
// @supportURL https://github.com/XIU2/UserScript
3619
// @homepageURL https://github.com/XIU2/UserScript
3720
// ==/UserScript==
3821

39-
'use strict';
4022
(function() {
23+
'use strict';
24+
if (GM_getValue('menu_disable') == null){GM_setValue('menu_disable', [])};
4125
// 注册脚本菜单
26+
if (menu_disable('check')) { // 当前网站是否已存在禁用列表中
27+
GM_registerMenuCommand('❎ 已禁用 (点击对当前网站启用)', function(){menu_disable('del')});
28+
return
29+
} else {
30+
GM_registerMenuCommand('✅ 已启用 (点击对当前网站禁用)', function(){menu_disable('add')});
31+
}
4232
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});});
4333

4434
// 默认 ID 为 0
@@ -50,8 +40,39 @@
5040
// scrollDelta:数值越大,滚动条触发点越靠上(越早开始翻页),一般是访问网页速度越慢,该值就需要越大
5141
// function:before = 插入前执行函数;after = 插入后执行函数;parameter = 参数
5242
let DBSite = {
53-
_423down_postslist: {
43+
discuz_forum: {
5444
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,
5576
pager: {
5677
type: 1,
5778
nextLink: '//div[@class="paging"]//a[contains(text(),"下一页")][@href]',
@@ -62,7 +83,7 @@
6283
}
6384
},
6485
apphot_postslist: {
65-
SiteTypeID: 2,
86+
SiteTypeID: 5,
6687
pager: {
6788
type: 1,
6889
nextLink: '//div[@class="pagination"]//a[contains(text(),"下一页")][@href]',
@@ -73,7 +94,7 @@
7394
}
7495
},
7596
iao_su_postslist: {
76-
SiteTypeID: 3,
97+
SiteTypeID: 6,
7798
pager: {
7899
type: 1,
79100
nextLink: '//li[@class="btn btn-primary next"]//a[@href]',
@@ -87,7 +108,7 @@
87108
}
88109
},
89110
appinn_postslist: {
90-
SiteTypeID: 4,
111+
SiteTypeID: 7,
91112
pager: {
92113
type: 1,
93114
nextLink: '//a[@class="next page-numbers"][@href]',
@@ -98,7 +119,7 @@
98119
}
99120
},
100121
iplaysoft_postslist: {
101-
SiteTypeID: 5,
122+
SiteTypeID: 8,
102123
pager: {
103124
type: 1,
104125
nextLink: '//div[@class="pagenavi"]//a[@title="下一页"][@href]',
@@ -112,45 +133,14 @@
112133
}
113134
},
114135
iplaysoft_postcomments: {
115-
SiteTypeID: 6,
136+
SiteTypeID: 9,
116137
pager: {
117138
type: 2,
118139
nextLink: '#loadHistoryComments',
119140
nextText: '展开后面',
120141
scrollDelta: 1200
121142
}
122143
},
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-
},
154144
pubmed_postslist: {
155145
SiteTypeID: 10,
156146
pager: {
@@ -392,28 +382,6 @@
392382
case "mobile.alphacoders.com":
393383
curSite = DBSite.wall_alphacoders;
394384
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;
417385
case "pubmed.ncbi.nlm.nih.gov":
418386
curSite = DBSite.pubmed_postslist;
419387
break;
@@ -447,6 +415,28 @@
447415
case "rarbgprx.org":
448416
curSite = DBSite.rarbgprx;
449417
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+
}
450440
}
451441
curSite.pageUrl = ""; // 下一页URL
452442
pageLoading(); // 自动无缝翻页
@@ -549,6 +539,46 @@
549539
}
550540

551541

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+
552582
// 滚动条事件
553583
function windowScroll(fn1) {
554584
var beforeScrollTop = document.documentElement.scrollTop,

0 commit comments

Comments
 (0)