Greasy Fork is available in English.
自定义过滤抖音的评论
// ==UserScript== // @name 抖音评论过滤 // @name:en Tiktok Comment Filter // @namespace net.coolkk.tiktokcommentfilter // @description 自定义过滤抖音的评论 // @description:en Customized filtering of Tiktok comments // @version 1.0.0 // @author Coolkk // @icon https://lf1-cdn-tos.bytegoofy.com/goofy/ies/douyin_web/public/favicon.ico // @homepage https://github.com/Coolkkmeat/TiktokCommentFilter // @supportURL https://github.com/Coolkkmeat/TiktokCommentFilter/issues // @contributionURL https://coolkk.net/ // @license Apache License 2.0 // @charset UTF-8 // @include http*://*douyin.com/* // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // @run-at document-idle // ==/UserScript== (function () { /** * 严格模式 */ "use strict"; /** * 初始化 */ //菜单 GM_registerMenuCommand("设置需要过滤的字符", function () { control_character(); }); //设置 const config = { "config_character": GM_getValue("config_character", "none") } if (config["config_character"] == "none") { control_character(); } const character = config["config_character"].split(","); //监听 listen(); /** * 控制-设置字符 */ function control_character() { let configNew = prompt("请输入需要过滤的字符(使用,分割):", config["config_character"]); if (configNew && configNew !== config["config_character"]) { GM_setValue("config_character", configNew); window.location.reload(); } } /** * 监听 */ function listen() { let xhr = XMLHttpRequest.prototype; let originSend = xhr.send; xhr.send = async function (postData) { //处理 work(); //返回 return originSend.apply(this, arguments); } } /** * 处理 */ function work() { //寻找 let documents = document.querySelector('[data-e2e="comment-list"]') if (documents != null) { let commentList = documents.querySelectorAll("div > span[class]"); commentList.forEach(function (commentElement) { //判断 if (character.find(item => commentElement.textContent.includes(item))) { //处理 commentElement.parentNode.parentNode.parentNode.parentNode.remove(); } }); } } })();