您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove posts and comments from specified instances.
// ==UserScript== // @name Block lemmy instances/comments // @namespace http://tampermonkey.net/ // @version 0.7.0 // @description Remove posts and comments from specified instances. // @author Shawn Z // @match *://*/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; const target = document.querySelector("#app.lemmy-site"); const config = { attributes: false, childList: true, subtree: true }; const callback = (mutationList, observer) => { const blockedInstances = ["lemmy.ml", "hexbear.net"]; // EDIT THIS LINE for (const instance of blockedInstances) { // Updated selectors for posts and comments const postSelector = `article.post-container a[href*="@${instance}"]`; const commentSelector = `article.comment-node a[href*="@${instance}"]`; // Remove posts document.querySelectorAll(postSelector).forEach(link => { const post = link.closest("article.post-container"); const divider = post.nextElementSibling; console.log(`Removing ${instance} post.`); post.remove(); if (divider?.nodeName === "HR") { divider.remove(); } }); // Remove comments and their subcomments document.querySelectorAll(commentSelector).forEach(link => { const comment = link.closest("article.comment-node"); const commentContainer = comment.closest("li.comment"); console.log(`Removing ${instance} comment and its subcomments.`); commentContainer.remove(); }); } } const observer = new MutationObserver(callback); if (target) { observer.observe(target, config); callback(); } })();