您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hide spammers/trolls
当前为
// ==UserScript== // @name Substack Blocker // @namespace http://tampermonkey.net/ // @version 1.0 // @description Hide spammers/trolls // @author Kronzky // @match *://*.substack.com/* // @grant none // @run-at document-idle // ==/UserScript== let blockedNames = ["ForHimItWas", "e.pierce", "Boris Petrov", "Iconoclast"]; // Names to block (case-insensitive) let minLikes = 2; // Show post anyway, if likes are above this minimum let commentCount = 0 function hideStuff() { var comments = document.getElementsByTagName('table'); if (comments.length==commentCount) {return}; commentCount = comments.length; for (var comment of comments) { if (((comment.className.indexOf("comment-content"))!=-1) && ((comment.className.indexOf("CHECKED"))==-1)) { comment.className += " CHECKED"; let commenterMeta = comment.getElementsByClassName('commenter-name')[0]; if (commenterMeta.getElementsByTagName('a').length!=0) { let commenterName = commenterMeta.getElementsByTagName('a')[0].innerHTML; for (var blocked of blockedNames) { if (blocked.toUpperCase() === commenterName.toUpperCase()) { let commentBody = comment.getElementsByClassName('comment-body')[0]; let commentActions = comment.getElementsByClassName('comment-actions')[0]; if (commentActions.innerHTML.indexOf("Unhide")==-1) { let likelink = commentActions.getElementsByTagName('a')[0].innerHTML; let likes = Number(likelink.substr(likelink.lastIndexOf('>')+2)); if (likes<=minLikes) { commentBody.style = "display:none"; commentActions.innerHTML += "<span><a href='#' onclick='unhide(this);return false'>Unhide</a></span>"; }; }; break; }; }; }; }; }; }; window.unhide = function (elem) { elem.style = "display:none"; elem.parentElement.parentElement.parentElement.getElementsByClassName('comment-body')[0].style = "display:block"; }; (function() { 'use strict'; hideStuff(); window.addEventListener("scroll", hideStuff, false); })();