🏠 Home 

NGA+

NGA 增强(隐藏未关注子版的帖子)

// ==UserScript==
// @name        NGA+
// @namespace   NGA+@Byzod
// @description NGA 增强(隐藏未关注子版的帖子)
// @include     http://bbs.ngacn.cc/*
// @include     http://nga.178.com/*
// @include     http://bbs.nga.cn/*
// @include     http://club.178.com/*
// @include     http://bbs.bigccq.cn/*
// @version     2
// @license     WTFPL version 2 or later version; http://www.wtfpl.net/about/
// @grant       none
// jshint esversion:6
// ==/UserScript==
function NGAPlus(){
'use strict';
var self = this;
// var uncheckedSubForumUrls = [];
// 关注子论坛url列表
var checkedSubForumUrls = [];
// 获取已关注子论坛url列表
this.GetUncheckedSubForumUrls = function(){
var subForums = document.querySelectorAll("#sub_forums .b");
subForums.forEach(
(subForum) => {
let subForumCheckbox = subForum.querySelector("input");
let subForumUrl = subForum.querySelector("a");
if(subForumCheckbox && subForumUrl && subForumCheckbox.checked === true){
checkedSubForumUrls.push(subForumUrl.href);
}
}
);
// console.log("[NGA+]: 关注sub: " + checkedSubForumUrls.length + "个; 列表: %o", checkedSubForumUrls); // DEBUG
};
// 屏蔽未关注合集贴
this.BanSubForumPosts = function(topicTable){
var posts = topicTable.querySelectorAll(".topicrow");
posts.forEach(
(post) => {
let titleadd2 = post.querySelector(".titleadd2>a");
if(titleadd2 && !checkedSubForumUrls.includes(titleadd2.href)){
post.hidden = true;
}
}
);
};
// 注册屏蔽未关注合集贴事件
this.RegisterBanSubForumsHandler = function(){
var observeTarget = document.querySelector("#topicrows");
var observer = new MutationObserver(
()=>{
self.BanSubForumPosts(observeTarget);
}
);
var config = { childList: true };
if(observeTarget){
observer.observe(observeTarget, config);
}
// 先来一发
self.BanSubForumPosts(observeTarget);
};
// BOOM!
this.Boom = function(){
self.GetUncheckedSubForumUrls();
self.RegisterBanSubForumsHandler();
};
}
var ngaBoom = new NGAPlus();
ngaBoom.Boom();