您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
hides memeflag threads and replies, updated 04/08/2024
// ==UserScript== // @name Memeflag hider v3 // @version 3.0 // @description hides memeflag threads and replies, updated 04/08/2024 // @author anon // @grant none // @include http*://*.4chan.org/pol/* // @run-at document-idle // @namespace https://greasyfork.org/en/scripts/438016-memeflag-hider-v3 // @license ayyylmao // ==/UserScript== // forked from https://greasyfork.org/users/250780 -- 4th Jan 2022 // uses the built in thread hiding mechanism from the 4chan ext. except in catalog where we just nuke things from a global object. const filterStrings = ["Gadsden", "AnotherFlag", "YetAnotherFlag"]; (function () { "use strict"; let HIDE_MEMEFLAG_THREADS = true; let HIDE_MEMEFLAG_REPLIES = true; // hide memeflag threads in catalog if (window.location.href.indexOf("pol/catalog") > -1) { // catalog is a global // memeflag thread countries are "undefined" in /catalog -- 4th Jan 2022 let memeflaggotthreads = []; Object.keys(catalog.threads).map(function (key, index) { if (catalog.threads[key].country === undefined) { memeflaggotthreads.push(key); } }); memeflaggotthreads.forEach( (t) => { delete catalog.threads[t] } ); // trigger thread list redraw without changing sort order document.querySelector('#order-ctrl').dispatchEvent(new Event('change')); let hidenum = document.createElement('span'); hidenum.innerHTML = ` [${memeflaggotthreads.length} memeflags hidden]`; document.querySelector('.navLinks')?.appendChild(hidenum); } else { let hiddencnt = 0; if (HIDE_MEMEFLAG_THREADS && window.location.href.indexOf("pol/thread/") === -1) { var posts = document.getElementsByClassName("postContainer opContainer"); for (var currentPostNumber = 0; currentPostNumber < posts.length; currentPostNumber++) { if (posts[currentPostNumber].getElementsByClassName("bfl").length > 0 || posts[currentPostNumber].getElementsByClassName("flag").length === 0) { try { ThreadHiding.hide(posts[currentPostNumber].id.substr(2)); } catch(error) { // } hiddencnt++; } } } if (HIDE_MEMEFLAG_REPLIES) { var replies = document.getElementsByClassName("postContainer replyContainer"); for (var currentPostNumber2 = 0; currentPostNumber2 < replies.length; currentPostNumber2++) { if (replies[currentPostNumber2].getElementsByClassName("bfl").length > 0 || replies[currentPostNumber2].getElementsByClassName("flag").length === 0) { try { ReplyHiding.hide(replies[currentPostNumber2].id.substr(2)); } catch(error) { // } hiddencnt++; } } } let hidenumd = document.createElement('div'); hidenumd.className = 'thread-stats'; hidenumd.innerHTML = ` ${hiddencnt} memeflags hidden / `; document.querySelector('.navLinks.desktop')?.appendChild(hidenumd); document.querySelector('#ctrl-top.desktop')?.appendChild(hidenumd); } })();