Skip to content

Commit a7d8629

Browse files
committed
新增 脚本菜单显示当前功能状态;优化 脚本菜单规范。
1 parent 2844756 commit a7d8629

4 files changed

Lines changed: 166 additions & 77 deletions

File tree

3dm-Enhanced.user.js

Lines changed: 61 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// ==UserScript==
22
// @name 3DM论坛增强
3-
// @version 1.0.3
3+
// @version 1.0.4
44
// @author X.I.U
55
// @description 自动回复、自动无缝翻页、清理置顶帖子
66
// @match *://bbs.3dmgame.com/*
77
// @icon https://bbs.3dmgame.com/favicon.ico
88
// @grant GM_xmlhttpRequest
99
// @grant GM_registerMenuCommand
10+
// @grant GM_unregisterMenuCommand
1011
// @grant GM_openInTab
1112
// @grant GM_getValue
1213
// @grant GM_setValue
@@ -17,24 +18,61 @@
1718
// ==/UserScript==
1819

1920
(function() {
20-
// 开关帖子内自动翻页功能,true 为开启,false 为关闭,默认关闭。
21-
var thread_pageLoading = GM_getValue('xiu2_thread_pageLoading');
22-
if (thread_pageLoading == null){
23-
thread_pageLoading = false;
24-
GM_setValue('xiu2_thread_pageLoading', false);
25-
}
21+
var menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading'),
22+
menu_autoReply = GM_getValue('xiu2_menu_autoReply'),
23+
menu_cleanTopPost = GM_getValue('xiu2_menu_cleanTopPost');
24+
var menu_thread_pageLoading_ID, menu_autoReply_ID, menu_cleanTopPost_ID, menu_feedBack_ID;
25+
if (menu_thread_pageLoading == null){menu_thread_pageLoading = false; GM_setValue('xiu2_menu_thread_pageLoading', menu_thread_pageLoading)};
26+
if (menu_autoReply == null){menu_autoReply = true; GM_setValue('xiu2_menu_autoReply', menu_autoReply)};
27+
if (menu_cleanTopPost == null){menu_cleanTopPost = true; GM_setValue('xiu2_menu_cleanTopPost', menu_cleanTopPost)};
28+
registerMenuCommand();
29+
2630
// 注册脚本菜单
27-
GM_registerMenuCommand('开关 [帖子内自动翻页] 功能', function () {
28-
if (thread_pageLoading){
29-
thread_pageLoading = false;
30-
GM_notification(`已关闭 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
31+
function registerMenuCommand() {
32+
var menu_thread_pageLoading_, menu_autoReply_, menu_cleanTopPost_;
33+
if (menu_feedBack_ID){ // 如果反馈菜单ID不是 null,则删除所有脚本菜单
34+
GM_unregisterMenuCommand(menu_thread_pageLoading_ID);
35+
GM_unregisterMenuCommand(menu_autoReply_ID);
36+
GM_unregisterMenuCommand(menu_cleanTopPost_ID);
37+
GM_unregisterMenuCommand(menu_feedBack_ID);
38+
menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading');
39+
menu_autoReply = GM_getValue('xiu2_menu_autoReply');
40+
menu_cleanTopPost = GM_getValue('xiu2_menu_cleanTopPost');
41+
}
42+
43+
if (menu_thread_pageLoading){
44+
menu_thread_pageLoading_ = "√";
45+
}else{
46+
menu_thread_pageLoading_ = "×";
47+
}
48+
if (menu_autoReply){
49+
menu_autoReply_ = "√";
50+
}else{
51+
menu_autoReply_ = "×";
52+
}
53+
if (menu_cleanTopPost){
54+
menu_cleanTopPost_ = "√";
3155
}else{
32-
thread_pageLoading = true;
33-
GM_notification(`已开启 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
56+
menu_cleanTopPost_ = "×";
3457
}
35-
GM_setValue('xiu2_thread_pageLoading', thread_pageLoading);
36-
});
37-
GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
58+
59+
menu_autoReply_ID = GM_registerMenuCommand(`[ ${menu_autoReply_} ] 自动回复`, function(){menu_switch(menu_autoReply,'xiu2_menu_autoReply','自动回复')});
60+
menu_cleanTopPost_ID = GM_registerMenuCommand(`[ ${menu_cleanTopPost_} ] 清理置顶帖子`, function(){menu_switch(menu_cleanTopPost,'xiu2_menu_cleanTopPost','清理置顶帖子')});
61+
menu_thread_pageLoading_ID = GM_registerMenuCommand(`[ ${menu_thread_pageLoading_} ] 帖子内自动翻页`, function(){menu_switch(menu_thread_pageLoading,'xiu2_menu_thread_pageLoading','帖子内自动翻页')});
62+
menu_feedBack_ID = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
63+
}
64+
65+
// 菜单开关
66+
function menu_switch(menu_status, Name, Tips) {
67+
if (menu_status){
68+
GM_setValue(`${Name}`, false);
69+
GM_notification(`已关闭 [${Tips}] 功能\n(刷新网页后生效)`);
70+
}else{
71+
GM_setValue(`${Name}`, true);
72+
GM_notification(`已开启 [${Tips}] 功能\n(刷新网页后生效)`);
73+
}
74+
registerMenuCommand(); // 重新注册脚本菜单
75+
};
3876

3977
// 随机回复帖子的内容
4078
var replyList = [
@@ -100,18 +138,18 @@
100138
// URL 判断
101139
if (patt_thread.test(location.pathname) || patt_thread_2.test(location.search)){
102140
// 帖子内
103-
if(thread_pageLoading)curSite = DBSite.thread;
104-
autoReply(); // 如果有隐藏内容,则自动回复
105-
pageLoading(); // 自动翻页
141+
if(menu_thread_pageLoading)curSite = DBSite.thread;
142+
if(menu_autoReply)autoReply(); // 如果有隐藏内容,则自动回复
143+
pageLoading(); // 自动翻页
106144
}else if (patt_forum.test(location.pathname) || patt_forum_2.test(location.search)){
107145
// 各板块帖子列表
108146
curSite = DBSite.forum;
109-
cleanTop(); // 清理置顶帖子
110-
pageLoading(); // 自动翻页
147+
if(menu_cleanTopPost)cleanTopPost(); // 清理置顶帖子
148+
pageLoading(); // 自动翻页
111149
}else if (patt_guide.test(location.search)){
112150
// 导读帖子列表
113151
curSite = DBSite.guide;
114-
pageLoading(); // 自动翻页
152+
pageLoading(); // 自动翻页
115153
}
116154

117155

@@ -179,7 +217,7 @@
179217

180218

181219
// 清理置顶帖子
182-
function cleanTop(){
220+
function cleanTopPost(){
183221
var showhide = document.querySelectorAll("a.showhide.y");
184222
if (showhide.length > 0){
185223
showhide.forEach(el=>el.click());

52pojie-Enhanced.user.js

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// ==UserScript==
22
// @name 吾爱破解论坛增强 - 自动签到、翻页
3-
// @version 1.0.8
3+
// @version 1.0.9
44
// @author X.I.U
55
// @description 自动签到、自动无缝翻页
66
// @match *://www.52pojie.cn/*
77
// @icon https://www.52pojie.cn/favicon.ico
88
// @grant GM_xmlhttpRequest
99
// @grant GM_registerMenuCommand
10+
// @grant GM_unregisterMenuCommand
1011
// @grant GM_openInTab
1112
// @grant GM_getValue
1213
// @grant GM_setValue
@@ -17,24 +18,41 @@
1718
// ==/UserScript==
1819

1920
(function() {
20-
// 开关帖子内自动翻页功能,true 为开启,false 为关闭,默认开启。
21-
var thread_pageLoading = GM_getValue('xiu2_thread_pageLoading');
22-
if (thread_pageLoading == null){
23-
thread_pageLoading = true;
24-
GM_setValue('xiu2_thread_pageLoading', true);
25-
}
21+
var menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading');
22+
var menu_thread_pageLoading_ID, menu_feedBack_ID;
23+
if (menu_thread_pageLoading == null){menu_thread_pageLoading = true; GM_setValue('xiu2_menu_thread_pageLoading', menu_thread_pageLoading)};
24+
registerMenuCommand();
25+
2626
// 注册脚本菜单
27-
GM_registerMenuCommand('开关 [帖子内自动翻页] 功能', function () {
28-
if (thread_pageLoading){
29-
thread_pageLoading = false;
30-
GM_notification(`已关闭 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
27+
function registerMenuCommand() {
28+
var menu_thread_pageLoading_;
29+
if (menu_feedBack_ID){ // 如果反馈菜单ID不是 null,则删除所有脚本菜单
30+
GM_unregisterMenuCommand(menu_thread_pageLoading_ID);
31+
GM_unregisterMenuCommand(menu_feedBack_ID);
32+
menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading');
33+
}
34+
35+
if (menu_thread_pageLoading){
36+
menu_thread_pageLoading_ = "√";
37+
}else{
38+
menu_thread_pageLoading_ = "×";
39+
}
40+
41+
menu_thread_pageLoading_ID = GM_registerMenuCommand(`[ ${menu_thread_pageLoading_} ] 帖子内自动翻页`, function(){menu_switch(menu_thread_pageLoading,'xiu2_menu_thread_pageLoading','帖子内自动翻页')});
42+
menu_feedBack_ID = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
43+
}
44+
45+
// 菜单开关
46+
function menu_switch(menu_status, Name, Tips) {
47+
if (menu_status){
48+
GM_setValue(`${Name}`, false);
49+
GM_notification(`已关闭 [${Tips}] 功能\n(刷新网页后生效)`, '吾爱破解论坛增强');
3150
}else{
32-
thread_pageLoading = true;
33-
GM_notification(`已开启 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
51+
GM_setValue(`${Name}`, true);
52+
GM_notification(`已开启 [${Tips}] 功能\n(刷新网页后生效)`, '吾爱破解论坛增强');
3453
}
35-
GM_setValue('xiu2_thread_pageLoading', thread_pageLoading);
36-
});
37-
GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
54+
registerMenuCommand(); // 重新注册脚本菜单
55+
};
3856

3957
// 默认 ID 为 0
4058
var curSite = {SiteTypeID: 0};
@@ -81,7 +99,7 @@
8199
// URL 判断
82100
if (patt_thread.test(location.pathname) || patt_thread_2.test(location.search)){
83101
// 帖子内
84-
if(thread_pageLoading)curSite = DBSite.thread;
102+
if(menu_thread_pageLoading)curSite = DBSite.thread;
85103
}else if (patt_forum.test(location.pathname) || patt_forum_2.test(location.search)){
86104
// 各板块帖子列表
87105
curSite = DBSite.forum;

Hostloc-Enhanced.user.js

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// ==UserScript==
22
// @name 全球主机交流论坛增强
3-
// @version 1.0.1
3+
// @version 1.0.2
44
// @author X.I.U
55
// @description 自动无缝翻页
66
// @match *://www.hostloc.com/*
77
// @icon https://www.hostloc.com/favicon.ico
88
// @grant GM_xmlhttpRequest
99
// @grant GM_registerMenuCommand
10+
// @grant GM_unregisterMenuCommand
1011
// @grant GM_openInTab
1112
// @grant GM_getValue
1213
// @grant GM_setValue
@@ -17,24 +18,41 @@
1718
// ==/UserScript==
1819

1920
(function() {
20-
// 开关帖子内自动翻页功能,true 为开启,false 为关闭,默认开启。
21-
var thread_pageLoading = GM_getValue('xiu2_thread_pageLoading');
22-
if (thread_pageLoading == null){
23-
thread_pageLoading = true;
24-
GM_setValue('xiu2_thread_pageLoading', true);
25-
}
21+
var menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading');
22+
var menu_thread_pageLoading_ID, menu_feedBack_ID;
23+
if (menu_thread_pageLoading == null){menu_thread_pageLoading = true; GM_setValue('xiu2_menu_thread_pageLoading', menu_thread_pageLoading)};
24+
registerMenuCommand();
25+
2626
// 注册脚本菜单
27-
GM_registerMenuCommand('开关 [帖子内自动翻页] 功能', function () {
28-
if (thread_pageLoading){
29-
thread_pageLoading = false;
30-
GM_notification(`已关闭 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
27+
function registerMenuCommand() {
28+
var menu_thread_pageLoading_;
29+
if (menu_feedBack_ID){ // 如果反馈菜单ID不是 null,则删除所有脚本菜单
30+
GM_unregisterMenuCommand(menu_thread_pageLoading_ID);
31+
GM_unregisterMenuCommand(menu_feedBack_ID);
32+
menu_thread_pageLoading = GM_getValue('xiu2_menu_thread_pageLoading');
33+
}
34+
35+
if (menu_thread_pageLoading){
36+
menu_thread_pageLoading_ = "√";
37+
}else{
38+
menu_thread_pageLoading_ = "×";
39+
}
40+
41+
menu_thread_pageLoading_ID = GM_registerMenuCommand(`[ ${menu_thread_pageLoading_} ] 帖子内自动翻页`, function(){menu_switch(menu_thread_pageLoading,'xiu2_menu_thread_pageLoading','帖子内自动翻页')});
42+
menu_feedBack_ID = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
43+
}
44+
45+
// 菜单开关
46+
function menu_switch(menu_status, Name, Tips) {
47+
if (menu_status){
48+
GM_setValue(`${Name}`, false);
49+
GM_notification(`已关闭 [${Tips}] 功能\n(刷新网页后生效)`);
3150
}else{
32-
thread_pageLoading = true;
33-
GM_notification(`已开启 [帖子内自动翻页] 功能\n(刷新网页后生效)`);
51+
GM_setValue(`${Name}`, true);
52+
GM_notification(`已开启 [${Tips}] 功能\n(刷新网页后生效)`);
3453
}
35-
GM_setValue('xiu2_thread_pageLoading', thread_pageLoading);
36-
});
37-
GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
54+
registerMenuCommand(); // 重新注册脚本菜单
55+
};
3856

3957
// 默认 ID 为 0
4058
var curSite = {SiteTypeID: 0};
@@ -81,7 +99,7 @@
8199
// URL 判断
82100
if (patt_thread.test(location.pathname) || patt_thread_2.test(location.search)){
83101
// 帖子内
84-
if(thread_pageLoading)curSite = DBSite.thread;
102+
if(menu_thread_pageLoading)curSite = DBSite.thread;
85103
// 自动显示帖子内被隐藏的回复
86104
showPosts();
87105
}else if (patt_forum.test(location.pathname) || patt_forum_2.test(location.search)){

Zhiyoo-Enhanced.user.js

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// ==UserScript==
22
// @name 智友邦论坛增强
3-
// @version 1.0.8
3+
// @version 1.0.9
44
// @author X.I.U
55
// @description 自动签到、自动回复、自动无缝翻页、清理置顶帖子、清理帖子标题〖XXX〗【XXX】文字
66
// @icon http://bbs.zhiyoo.net/favicon.ico
77
// @match *://bbs.zhiyoo.net/*
88
// @grant GM_xmlhttpRequest
99
// @grant GM_registerMenuCommand
10+
// @grant GM_unregisterMenuCommand
1011
// @grant GM_openInTab
1112
// @grant GM_getValue
1213
// @grant GM_setValue
@@ -20,24 +21,41 @@
2021
// 签到后跳转的URL
2122
var qiandao_Redirect_URL = `http://bbs.zhiyoo.net/forum.php?mod=forumdisplay&fid=42&filter=author&orderby=dateline`;
2223

23-
// 开关「清理帖子列表中帖子标题开头的〖XXX〗【XXX】文字」功能,标题中的 APP 名称完全对齐,看起来更舒服!true 为开启,false 为关闭,默认开启。
24-
var cleanText = GM_getValue('xiu2_cleanText');
25-
if (cleanText == null){
26-
cleanText = true;
27-
GM_setValue('xiu2_cleanText', true);
28-
}
24+
var menu_cleanPostTitle = GM_getValue('xiu2_menu_cleanPostTitle');
25+
var menu_cleanPostTitle_ID, menu_feedBack_ID;
26+
if (menu_cleanPostTitle == null){menu_cleanPostTitle = true; GM_setValue('xiu2_menu_cleanPostTitle', menu_cleanPostTitle)};
27+
registerMenuCommand();
28+
2929
// 注册脚本菜单
30-
GM_registerMenuCommand('开关 [清理帖子标题开头〖〗【】文字] 功能', function () {
31-
if (cleanText){
32-
cleanText = false;
33-
GM_notification(`已关闭 [清理帖子标题开头〖〗【】文字] 功能(刷新网页后生效)`);
30+
function registerMenuCommand() {
31+
var menu_cleanPostTitle_;
32+
if (menu_feedBack_ID){ // 如果反馈菜单ID不是 null,则删除所有脚本菜单
33+
GM_unregisterMenuCommand(menu_cleanPostTitle_ID);
34+
GM_unregisterMenuCommand(menu_feedBack_ID);
35+
menu_cleanPostTitle = GM_getValue('xiu2_menu_cleanPostTitle');
36+
}
37+
38+
if (menu_cleanPostTitle){
39+
menu_cleanPostTitle_ = "√";
40+
}else{
41+
menu_cleanPostTitle_ = "×";
42+
}
43+
44+
menu_cleanPostTitle_ID = GM_registerMenuCommand(`[ ${menu_cleanPostTitle_} ] 清理帖子标题开头〖〗【】文字`, function(){menu_switch(menu_cleanPostTitle,'xiu2_menu_cleanPostTitle','[清理帖子标题开头〖〗【】文字] 功能(刷新网页后生效)')});
45+
menu_feedBack_ID = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
46+
}
47+
48+
// 菜单开关
49+
function menu_switch(menu_status, Name, Tips) {
50+
if (menu_status){
51+
GM_setValue(`${Name}`, false);
52+
GM_notification(`已关闭 ${Tips}`);
3453
}else{
35-
cleanText = true;
36-
GM_notification(`已开启 [清理帖子标题开头〖〗【】文字] 功能(刷新网页后生效)`);
54+
GM_setValue(`${Name}`, true);
55+
GM_notification(`已开启 ${Tips}`);
3756
}
38-
GM_setValue('xiu2_cleanText', cleanText);
39-
});
40-
GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});});
57+
registerMenuCommand(); // 重新注册脚本菜单
58+
};
4159

4260
// 帖子数量,避免重复清理帖子列表中帖子标题开头的〖XXX〗【XXX】文字,用于提高效率
4361
var postNum = 0;
@@ -188,16 +206,13 @@
188206

189207
// 清理帖子列表中帖子标题开头的〖XXX〗【XXX】文字
190208
function cleanPostTitle(){
191-
if (cleanText){
209+
if (menu_cleanPostTitle){
192210
var cleanposttitle = document.querySelectorAll("a.s.xst");
193211
if (cleanposttitle.length > 0){
194212
for(var num = postNum;num<cleanposttitle.length;num++){
195213
cleanposttitle[num].innerText = cleanposttitle[num].innerText.replace(patt_posttitle, ``);
196214
postNum += 1;
197215
}
198-
/*cleanposttitle.forEach(function(el){
199-
el.innerText = el.innerText.replace(patt_posttitle, ``);
200-
});*/
201216
}
202217
}
203218
}

0 commit comments

Comments
 (0)