|
1 | 1 | // ==UserScript== |
2 | 2 | // @name 全球主机交流论坛增强 |
3 | | -// @version 1.2.7 |
| 3 | +// @version 1.2.8 |
4 | 4 | // @author X.I.U |
5 | | -// @description 自动签到(访问空间)、屏蔽用户(黑名单)、屏蔽关键词(帖子标题)、自动无缝翻页、快捷回到顶部(右键点击两侧空白处)、收起预览帖子(左键点击两侧空白处)、预览帖子快速回复带签名、显示是否在线、显示帖子内隐藏回复、屏蔽阅读权限 255 帖子 |
| 5 | +// @description 自动签到(访问空间)、屏蔽用户(黑名单)、屏蔽关键词(帖子标题)、回帖小尾巴、自动无缝翻页、快捷回到顶部(右键点击两侧空白处)、收起预览帖子(左键点击两侧空白处)、预览帖子快速回复带签名、显示是否在线、显示帖子内隐藏回复、屏蔽阅读权限 255 帖子 |
6 | 6 | // @match *://hostloc.com/* |
7 | 7 | // @match *://91ai.net/* |
8 | 8 | // @icon https://www.hostloc.com/favicon.ico |
|
26 | 26 | ['menu_customBlockUsers', '自定义屏蔽用户', '自定义屏蔽用户', []], |
27 | 27 | ['menu_blockKeywords', '屏蔽关键词(帖子标题)', '屏蔽关键词(帖子标题)', false], |
28 | 28 | ['menu_customBlockKeywords', '自定义屏蔽关键词', '自定义屏蔽关键词', []], |
| 29 | + ['menu_customLittleTail', '自定义小尾巴内容', '自定义小尾巴内容', []], |
29 | 30 | ['menu_pageLoading', '自动无缝翻页(总开关)', '自动无缝翻页', true], |
30 | 31 | ['menu_thread_pageLoading', '帖子内自动翻页', '帖子内自动翻页', true], |
31 | 32 | ['menu_backToTop', '快捷回到顶部(右键点击两侧空白处)', '快捷回到顶部', true], |
|
54 | 55 | menu_ID[i] = GM_registerMenuCommand(`[ ⚑ ] ${menu_ALL[i][1]}`, function(){customBlockUsers()}); |
55 | 56 | } else if (menu_ALL[i][0] === 'menu_customBlockKeywords') { |
56 | 57 | menu_ID[i] = GM_registerMenuCommand(`[ ⚑ ] ${menu_ALL[i][1]}`, function(){customBlockKeywords()}); |
| 58 | + } else if (menu_ALL[i][0] === 'menu_customLittleTail') { |
| 59 | + menu_ID[i] = GM_registerMenuCommand(`[ ⚑ ] ${menu_ALL[i][1]}`, function(){customLittleTail()}); |
57 | 60 | } else { |
58 | 61 | menu_ID[i] = GM_registerMenuCommand(`[ ${menu_ALL[i][3]?'√':'×'} ] ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)}); |
59 | 62 | } |
|
156 | 159 | showPosts(); // 自动显示帖子内被隐藏的回复 |
157 | 160 | blockUsers('thread'); // 屏蔽用户(黑名单) |
158 | 161 | if (menu_value('menu_onlineStatus')) onlineStatus(); // 显示是否在线 |
| 162 | + littleTail('thread'); // 小尾巴 |
159 | 163 | } else if (patt_forum.test(location.pathname) || location.search.indexOf('mod=forumdisplay') > -1) { // 各板块帖子列表 |
160 | 164 | curSite = DBSite.forum; |
161 | 165 | if (menu_value('menu_collapsedNowPost')) collapsedNowPost(); // 收起当前帖子预览(左键左右两侧空白处) |
162 | 166 | if (menu_value('menu_delate255')) delate255(); // 自动隐藏阅读权限 255 的帖子 |
163 | 167 | blockUsers('forum'); // 屏蔽用户(黑名单) |
164 | 168 | blockKeywords(); // 屏蔽关键词(帖子标题) |
165 | 169 | vfastpostDOMNodeInserted(); // 监听插入事件(预览快速回复带签名) |
| 170 | + littleTail('forum'); // 小尾巴 |
166 | 171 | if (patt_forum.test(location.pathname)) blockDOMNodeInserted(); //监听插入事件(有新的回复主题,点击查看) |
167 | 172 | }else if (patt_guide.test(location.search)) { // 导读帖子列表 |
168 | 173 | curSite = DBSite.guide; |
|
171 | 176 | blockUsers('search'); // 屏蔽用户(黑名单) |
172 | 177 | } else if(location.pathname === '/home.php' && location.search.indexOf('mod=space&do=notice&view=mypost') > -1) { // 消息(帖子/点评/提到) |
173 | 178 | blockUsers('notice'); // 屏蔽用户(黑名单) |
174 | | - } else if(location.pathname === '/home.php' && location.search === '?mod=space&do=pm') { // 消息(私人聊天) |
| 179 | + } else if(location.pathname === '/home.php' && location.search.indexOf('mod=space&do=pm') > -1) { // 消息(私人聊天) |
175 | 180 | blockUsers('pm'); // 屏蔽用户(黑名单) |
176 | | - } else if(location.pathname === '/forum.php' && location.search === '?mod=guide&view=my&type=reply') { // 我的帖子:回复 |
| 181 | + } else if(location.pathname === '/forum.php' && location.search.indexOf('mod=guide&view=my&type=reply') > -1) { // 我的帖子:回复 |
177 | 182 | curSite = DBSite.myreply; |
| 183 | + } else if(location.pathname === '/forum.php' && location.search.indexOf('mod=post&action=reply') > -1) { // 回复:高级回复 |
| 184 | + littleTail('reply'); // 小尾巴 |
178 | 185 | } |
179 | 186 |
|
180 | 187 | curSite.pageUrl = ""; // 下一页URL |
|
360 | 367 | } |
361 | 368 |
|
362 | 369 |
|
| 370 | + // 自定义小尾巴内容 |
| 371 | + function customLittleTail() { |
| 372 | + let newLittleTail = prompt('编辑 [自定义小尾巴内容],刷新网页后生效\n(换行请使用 \\n 例如:我是第一行~\\n我是第二行~', GM_getValue('menu_customLittleTail')); |
| 373 | + if (newLittleTail === '') { |
| 374 | + GM_setValue('menu_customLittleTail', []); |
| 375 | + registerMenuCommand(); // 重新注册脚本菜单 |
| 376 | + } else if (newLittleTail != null) { |
| 377 | + GM_setValue('menu_customLittleTail', newLittleTail); |
| 378 | + registerMenuCommand(); // 重新注册脚本菜单 |
| 379 | + } |
| 380 | + }; |
| 381 | + |
| 382 | + |
| 383 | + // 小尾巴 |
| 384 | + function littleTail(type) { |
| 385 | + if (!menu_value('menu_customLittleTail')) return |
| 386 | + switch(type) { |
| 387 | + case 'forum': // 各版块帖子列表的预览帖子 |
| 388 | + littleTail_1(); |
| 389 | + break; |
| 390 | + case 'thread': // 帖子内 |
| 391 | + littleTail_1(); |
| 392 | + littleTail_2(); |
| 393 | + break; |
| 394 | + case 'reply': // 高级回复 |
| 395 | + littleTail_3(); |
| 396 | + break; |
| 397 | + } |
| 398 | + |
| 399 | + function littleTail_1() { |
| 400 | + let floatlayout_reply = e => { |
| 401 | + if (e.target.innerHTML && e.target.innerHTML.indexOf('id="floatlayout_reply"') > -1) { |
| 402 | + document.getElementById('postsubmit').onclick = function(){document.getElementById('postmessage').value += GM_getValue('menu_customLittleTail').replaceAll('\\n', '\n');} |
| 403 | + } |
| 404 | + } |
| 405 | + document.addEventListener('DOMNodeInserted', floatlayout_reply); // 监听插入事件 |
| 406 | + } |
| 407 | + |
| 408 | + function littleTail_2() { // 帖子底部的回复框 |
| 409 | + document.getElementById('fastpostsubmit').onclick = function(){document.getElementById('fastpostmessage').value += GM_getValue('menu_customLittleTail').replaceAll('\\n', '\n');} |
| 410 | + } |
| 411 | + |
| 412 | + function littleTail_3() { |
| 413 | + let postsubmit = document.getElementById('postsubmit'); |
| 414 | + if (postsubmit && postsubmit.innerText === '\n参与/回复主题\n') { |
| 415 | + postsubmit.onclick = function(){document.getElementById('e_textarea').value += GM_getValue('menu_customLittleTail').replaceAll('\\n', '\n');} |
| 416 | + } |
| 417 | + } |
| 418 | + } |
| 419 | + |
| 420 | + |
363 | 421 | // 监听插入事件(回帖间隔) |
364 | 422 | /*function replyIntervalDOMNodeInserted() { |
365 | 423 | let replyInterval = e => { |
|
0 commit comments