mirror of
https://github.com/XIU2/UserScript.git
synced 2026-07-09 10:55:22 +00:00
新增 [收起预览帖子] 功能; 新增 [显示是否在线] 功能; 优化 [屏蔽阅读权限 255 帖子] 功能
This commit is contained in:
+46
-20
@@ -1,8 +1,8 @@
|
||||
// ==UserScript==
|
||||
// @name 全球主机交流论坛增强
|
||||
// @version 1.1.7
|
||||
// @version 1.1.8
|
||||
// @author X.I.U
|
||||
// @description 自动签到(访问空间)、屏蔽用户(黑名单)、屏蔽关键词(帖子标题)、自动无缝翻页、自动显示帖子内隐藏回复、自动隐藏阅读权限 255 的帖子、回到顶部(右键点击两侧空白处)
|
||||
// @description 自动签到(访问空间)、屏蔽用户(黑名单)、屏蔽关键词(帖子标题)、自动无缝翻页、自动显示帖子内隐藏回复、自动隐藏阅读权限 255 的帖子、快捷回到顶部(右键点击两侧空白处)、收起预览帖子(左键点击两侧空白处)
|
||||
// @match *://hostloc.com/*
|
||||
// @icon https://www.hostloc.com/favicon.ico
|
||||
// @grant GM_xmlhttpRequest
|
||||
@@ -26,9 +26,11 @@
|
||||
['menu_blockKeywords', '屏蔽关键词(帖子标题)', '屏蔽关键词(帖子标题)', false],
|
||||
['menu_customBlockKeywords', '自定义屏蔽关键词', '自定义屏蔽关键词', []],
|
||||
['menu_thread_pageLoading', '帖子内自动翻页', '帖子内自动翻页', true],
|
||||
['menu_showhide', '自动显示隐藏回复', '自动显示隐藏回复', true],
|
||||
['menu_delate255', '自动隐藏阅读权限 255 的帖子', '自动隐藏阅读权限 255 的帖子', true],
|
||||
['menu_backToTop', '回到顶部(右键点击两侧空白处)', '回到顶部', true]
|
||||
['menu_showhide', '显示隐藏回复', '显示隐藏回复', true],
|
||||
['menu_backToTop', '快捷回到顶部(右键点击两侧空白处)', '快捷回到顶部', true],
|
||||
['menu_collapsedNowPost', '收起预览帖子(左键点击两侧空白处)', '收起预览帖子', true],
|
||||
['menu_onlineStatus', '显示是否在线', '显示是否在线', true],
|
||||
['menu_delate255', '屏蔽阅读权限 255 帖子', '屏蔽阅读权限 255 帖子', true]
|
||||
], menu_ID = [];
|
||||
for (let i=0;i<menu_ALL.length;i++){ // 如果读取到的值为 null 就写入默认值
|
||||
if (GM_getValue(menu_ALL[i][0]) == null){GM_setValue(menu_ALL[i][0], menu_ALL[i][3])};
|
||||
@@ -138,28 +140,27 @@
|
||||
if (patt_thread.test(location.pathname) || location.search.indexOf('mod=viewthread') > -1) { // 帖子内
|
||||
if (menu_value('menu_thread_pageLoading')) {
|
||||
curSite = DBSite.thread;
|
||||
hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮
|
||||
hidePgbtn(); // 隐藏帖子内的 [下一页] 按钮
|
||||
}
|
||||
showPosts(); // 自动显示帖子内被隐藏的回复
|
||||
blockUsers('thread'); // 屏蔽用户(黑名单)
|
||||
showPosts(); // 自动显示帖子内被隐藏的回复
|
||||
blockUsers('thread'); // 屏蔽用户(黑名单)
|
||||
if (menu_value('menu_onlineStatus')) onlineStatus(); // 显示是否在线
|
||||
} else if (patt_forum.test(location.pathname) || location.search.indexOf('mod=forumdisplay') > -1) { // 各板块帖子列表
|
||||
curSite = DBSite.forum;
|
||||
if (menu_value('menu_delate255')) { // 自动隐藏阅读权限 255 的帖子
|
||||
delate255();
|
||||
setTimeout(delate255, 2000); // 为了避免有时候网页加载太慢时没有隐藏成功的问题
|
||||
}
|
||||
blockUsers('forum'); // 屏蔽用户(黑名单)
|
||||
blockKeywords(); // 屏蔽关键词(帖子标题)
|
||||
if (menu_value('menu_collapsedNowPost')) collapsedNowPost(); // 收起当前帖子预览(左键左右两侧空白处)
|
||||
if (menu_value('menu_delate255')) delate255(); // 自动隐藏阅读权限 255 的帖子
|
||||
blockUsers('forum'); // 屏蔽用户(黑名单)
|
||||
blockKeywords(); // 屏蔽关键词(帖子标题)
|
||||
if (patt_forum.test(location.pathname)) blockDOMNodeInserted(); // 监听插入事件(针对的是:有新的回复主题,点击查看)
|
||||
}else if (patt_guide.test(location.search)) { // 导读帖子列表
|
||||
}else if (patt_guide.test(location.search)) { // 导读帖子列表
|
||||
curSite = DBSite.guide;
|
||||
} else if(location.pathname === '/search.php') { // 搜索结果列表
|
||||
} else if(location.pathname === '/search.php') { // 搜索结果列表
|
||||
curSite = DBSite.search;
|
||||
blockUsers('search'); // 屏蔽用户(黑名单)
|
||||
blockUsers('search'); // 屏蔽用户(黑名单)
|
||||
} else if(location.pathname === '/home.php' && location.search.indexOf('mod=space&do=notice&view=mypost') > -1) { // 消息(帖子/点评/提到)
|
||||
blockUsers('notice'); // 屏蔽用户(黑名单)
|
||||
blockUsers('notice'); // 屏蔽用户(黑名单)
|
||||
} else if(location.pathname === '/home.php' && location.search === '?mod=space&do=pm') { // 消息(私人聊天)
|
||||
blockUsers('pm'); // 屏蔽用户(黑名单)
|
||||
blockUsers('pm'); // 屏蔽用户(黑名单)
|
||||
}
|
||||
|
||||
curSite.pageUrl = ""; // 下一页URL
|
||||
@@ -168,6 +169,18 @@
|
||||
if(menu_value('menu_autoSignIn'))autoSignIn(); // 自动签到(访问空间 10 次 = 20 积分)
|
||||
|
||||
|
||||
// 显示在线状态
|
||||
function onlineStatus() {
|
||||
document.querySelectorAll('[id^="favatar"]').forEach(function(item){ // 遍历所有帖子
|
||||
let icon = (item.querySelector('[id^="userinfo"] > .i.y em').innerText === '当前在线') ? '🌝' : '🌚';
|
||||
let divStatus = document.createElement('div');
|
||||
divStatus.style = 'position: absolute;margin: -8px 0 0 8px;padding: 0 1px 1.2px;background-color: #ffffff;border-radius: 50%;';
|
||||
divStatus.innerText = icon;
|
||||
let mochu = item.querySelector('.avatar');
|
||||
mochu.parentNode.insertBefore(divStatus,mochu);
|
||||
})
|
||||
}
|
||||
|
||||
// 自动签到(访问空间 10 次 = 20 积分)
|
||||
function autoSignIn() {
|
||||
if (!loginStatus) return
|
||||
@@ -372,10 +385,23 @@
|
||||
}
|
||||
|
||||
|
||||
// 收起当前帖子预览(左键左右两侧空白处)
|
||||
function collapsedNowPost() {
|
||||
//if (!menu_value('menu_collapsedNowAnswer')) return
|
||||
document.body.onclick = function(event){
|
||||
if (event.target==this) {
|
||||
document.querySelectorAll('[id^="threadPreviewTR_"] .showhide').forEach(function (el) {
|
||||
el.click()
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 自动隐藏阅读权限 255 的帖子
|
||||
function delate255() {
|
||||
if (patt_forum.test(location.pathname) || location.search.indexOf('mod=forumdisplay') > -1){
|
||||
let tbody = document.querySelectorAll('tbody[id^="normalthread_"] .common .xw1');
|
||||
let tbody = document.querySelectorAll('tbody[id^="normalthread_"] .xw1');
|
||||
Array.from(tbody).forEach(function (_this) {
|
||||
if (_this.innerText === '255') {
|
||||
_this.parentNode.parentNode.parentNode.remove();
|
||||
|
||||
Reference in New Issue
Block a user