使用油猴插件进行关键词屏蔽
本文转载自:https://www.nodeseek.com/post-109394-1
关键词列表【关键词仅为个人主观添加,具体自己增删】
- viie,tuan,跑路云,bestvm,富婆,台妹,usercloud,wise,ocbc,giffgaff,京东,esim,redotpay,batvm,电话卡,虚拟卡,dv,尼区,epic,nnr,庆余年,88vip,bagevm,8v,1v,32v,host-c,尼日利亚,绿云,follow,Yxvm
改良版 相较于原版的区别是关键词不区分大小写,注释掉了帖子内容和楼层的关键词屏蔽,只根据标题屏蔽,你也可以取消注释。
- // ==UserScript==
- // @name nodeseek论坛屏蔽词
- // @namespace http://tampermonkey.net/
- // @version 2023-12-30
- // @description 为nodeseek论坛添加屏蔽词功能
- // @author bigQY
- // @match *://www.nodeseek.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=nodeseek.com
- // @grant none
- // @require https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js
- // @license MIT
- // @downloadURL https://update.greasyfork.org/scripts/483014/nodeseek%E8%AE%BA%E5%9D%9B%E5%B1%8F%E8%94%BD%E8%AF%8D.user.js
- // @updateURL https://update.greasyfork.org/scripts/483014/nodeseek%E8%AE%BA%E5%9D%9B%E5%B1%8F%E8%94%BD%E8%AF%8D.meta.js
- // ==/UserScript==
-
- (function() {
- 'use strict';
- // 设置按钮
- var headerDiv = document.querySelector("#nsk-head")
- var btn = document.createElement("button");
- btn.innerHTML = "屏蔽词设置";
- btn.classList.add("btn");
- btn.style = "margin-left: 10px;";
- headerDiv.appendChild(btn);
-
- // 设置面板
- var panel = document.createElement("div");
- panel.innerHTML = `
- <div id="ns-block-words-setting">
- <h2>屏蔽词设置</h2>
- <input type="checkbox" id="ns-block-words-checkbox-enable" name="ns-block-words-checkbox-enable" checked />
- <label for="ns-block-words-checkbox-enable">启用屏蔽词</label>
- <br/>
- <input type="checkbox" id="ns-block-words-checkbox-hide" name="ns-block-words-checkbox-enable" checked />
- <label for="ns-block-words-checkbox-hide">不显示被屏蔽的帖子或楼层</label>
- <br/>
- <p>屏蔽词列表(逗号分隔)</p>
- <textarea id='ns-block-words' style='width: 98%; height: 50vh;'></textarea>
- <br/>
- <div style="display: flex;justify-content: end;margin:10px">
- <button id='ns-block-words-btn-save' class='btn' style="margin:0 10px">保存</button>
- <button id='ns-block-words-btn-cance' class='btn'>取消</button>
- </div>
- </div>
- `;
- panel.style = `
- position: fixed;
- top: 10vh;
- left: 10vw;
- z-index: -1;
- display: block;
- width: 80vw;
- height: 0;
- background-color: rgba(255, 255, 255, 0.8);
- border-radius: 10px;
- backdrop-filter: blur(10px);
- padding:20px;
- transition: all 0.5s;
- opacity: 0;
- overflow: hidden;
- `;
- document.body.appendChild(panel);
-
- // 设置按钮点击事件
- btn.onclick = function() {
- showSetting();
- document.getElementById("ns-block-words").value = localStorage.getItem("ns-block-words");
- };
- // 保存按钮点击事件
- document.getElementById("ns-block-words-btn-save").onclick = function() {
- localStorage.setItem("ns-block-words", document.getElementById("ns-block-words").value);
- localStorage.setItem("ns-block-words-enable", document.getElementById("ns-block-words-checkbox-enable").checked);
- localStorage.setItem("ns-block-words-hide", document.getElementById("ns-block-words-checkbox-hide").checked);
- hideSetting();
- };
- // 取消按钮点击事件
- document.getElementById("ns-block-words-btn-cance").onclick = function() {
- hideSetting();
- };
-
- function showSetting() {
- panel.style.zIndex = 9998;
- panel.style.opacity = 1;
- panel.style.height = "80vh";
- }
-
- function hideSetting() {
- panel.style.opacity = 0;
- panel.style.height = "0";
- setTimeout(function() {
- if(panel.style.opacity == 0){
- panel.style.zIndex = -1;
- }
- }, 500);
- }
-
- // dom ready初始化
- $(document).ready(function() {
- // 屏蔽词列表
- var blockWords = localStorage.getItem("ns-block-words");
- if (blockWords == null) {
- blockWords = "";
- }
- blockWords = blockWords.split(",");
- // 启用屏蔽词
- var enable = localStorage.getItem("ns-block-words-enable");
- enable = enable == 'true' ? true : false;
- var checkbox = document.getElementById("ns-block-words-checkbox-enable");
- checkbox.checked = enable;
- // 隐藏屏蔽词
- var hide = localStorage.getItem("ns-block-words-hide");
- hide = hide == 'true' ? true : false;
- var checkbox2 = document.getElementById("ns-block-words-checkbox-hide");
- checkbox2.checked = hide;
- // 屏蔽词列表
- var textarea = document.getElementById("ns-block-words");
- textarea.value = blockWords.join(",");
- // 屏蔽词
- if (enable) {
- /*
- // 帖子界面
- var comments = document.querySelectorAll(".content-item");
- if (comments != null) {
- comments.forEach(function(comment) {
- var content = comment.querySelector(".post-content");
- var contentText = content.innerText.toLowerCase(); // 将文本转换为小写
- blockWords.forEach(function(word) {
- if (contentText.indexOf(word.toLowerCase()) != -1) { // 比较时将屏蔽词转换为小写
- if (word==="") return;
- if (hide) {
- comment.style.display = "none";
- } else {
- content.innerHTML = `<span style="color: red;">触发屏蔽词:${word}</span>`
- }
- }
- });
- });
- }
- */
- // 列表界面
- var posts = document.querySelectorAll(".post-list-content");
- if (posts != null) {
- posts.forEach(function(post) {
- var content = post.querySelector(".post-title > a");
- var contentText = content.innerText.toLowerCase(); // 将文本转换为小写
- blockWords.forEach(function(word) {
- if (contentText.indexOf(word.toLowerCase()) != -1) { // 比较时将屏蔽词转换为小写
- if (word==="") return;
- if (hide) {
- post.parentNode.style.display='none'
- } else {
- content.innerHTML = `<span style="color: red;">触发屏蔽词:${word}</span>`
- }
- }
- });
- });
- }
- }
- });
- })();
评论 (0)