Filter Komentar & Balasan YouTube

menyembunyikan komentar dan balasan YouTube yang mengandung karakter khusus (bold, italic, full-width, dll.)

目前为 2025-03-13 提交的版本。查看 最新版本

// ==UserScript==
// @name                Filter Komentar & Balasan YouTube
// @name:en             YouTube Comment & Reply Filter
// @namespace           https://www.youtube.com/@MochAdiCH
// @version             1.2
// @description         menyembunyikan komentar dan balasan YouTube yang mengandung karakter khusus (bold, italic, full-width, dll.)
// @description:en      hide YouTube comments and replies containing special characters (bold, italic, full-width, etc.)
// @author              Mochamad Adi MR (adimuham.mad)
// @license             MIT
// @match               *://www.youtube.com/*
// @icon                https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant               none
// @supportURL          https://gist.github.com/adimuhamad/143a06052413aaecb6ddf1a4e39103c1#new_comment_field
// @run-at              document-end
// ==/UserScript==

(function() {
    'use strict';

    // Regex yang benar untuk mendeteksi karakter spesial Unicode
    const forbiddenRegex = /[\u2100-\u214F\u2460-\u24FF\u2C00-\u2C5F\uFF00-\uFFEF\uD835][\uDC00-\uDFFF]+/;

    function removeBadComments() {
        let comments = document.querySelectorAll("#content-text"); // Elemen teks komentar utama

        comments.forEach(comment => {
            if (forbiddenRegex.test(comment.innerText)) {
                let commentContainer = comment.closest("ytd-comment-thread-renderer"); // Ambil elemen komentar utama
                if (commentContainer) {
                    commentContainer.style.display = "none"; // Sembunyikan komentar utama
                }
            }
        });

        comments.forEach(reply => {
            if (forbiddenRegex.test(reply.innerText)) {
                let replyContainer = reply.closest("ytd-comment-replies-renderer"); // Ambil elemen balasan komentar
                if (replyContainer) {
                    replyContainer.style.display = "none"; // Sembunyikan balasan komentar
                }
            }
        });
    }

    // Jalankan filter pertama kali setelah halaman dimuat
    setTimeout(removeBadComments, 3000);

    // Pantau perubahan di DOM (jika ada komentar atau balasan baru)
    const observer = new MutationObserver(() => {
        removeBadComments();
    });

    observer.observe(document.body, { childList: true, subtree: true });

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址