如何让移除YouTube年份类评论的用户脚本持续运行?
解决YouTube评论持久化移除问题
我太懂这种烦躁了!那些“我在XXXX年观看此视频”的评论常年霸占评论区顶部,点赞还贼高,看着真闹心。你能写出移除脚本已经迈出了关键一步——接下来咱们把它变成能自动干活的“常驻工具”,应对页面刷新和新加载的评论。
下面是两种靠谱的解决方案,优先推荐第一种:
方法一:用用户脚本管理器(Tampermonkey)持久化运行脚本
这是最省心的方式,能让脚本在你打开YouTube页面时自动启动,还能监听动态加载的内容。
- 安装Tampermonkey:打开Chrome网上应用店,搜索Tampermonkey并安装这个扩展(它是专门用来管理用户脚本的,安全靠谱)。
- 创建新脚本:点击Tampermonkey图标,选择“创建新脚本”,把默认模板替换成下面的代码框架(把你写的移除逻辑填进去):
// ==UserScript== // @name 移除YouTube年份评论 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 自动移除"我在XXXX年观看此视频"这类评论 // @author 你自己的名字 // @match *://*.youtube.com/* // @run-at document-idle // @grant none // ==/UserScript== (function() { 'use strict'; // 把你写的移除评论的逻辑封装成函数 function removeYearComments() { // 这里放你的代码,比如: const comments = document.querySelectorAll('ytd-comment-thread-renderer'); comments.forEach(comment => { const text = comment.querySelector('#content-text').textContent.toLowerCase(); if (text.includes('我在') && text.includes('年观看此视频')) { comment.remove(); } }); } // 页面加载完成后先执行一次 removeYearComments(); // 监听DOM变化,处理动态加载的新评论 const observer = new MutationObserver((mutations) => { mutations.forEach(mutation => { if (mutation.addedNodes.length > 0) { // 检查新增的节点里有没有评论,有的话执行移除 mutation.addedNodes.forEach(node => { if (node.tagName === 'YTD-COMMENT-THREAD-RENDERER') { removeYearComments(); } }); } }); }); // 监听评论区的容器(YouTube的评论区容器一般是ytd-comments) const commentsContainer = document.querySelector('ytd-comments'); if (commentsContainer) { observer.observe(commentsContainer, { childList: true, subtree: true }); } })();
- 保存并启用脚本:按Ctrl+S保存,之后打开任何YouTube视频页面,脚本都会自动运行,无论是页面刷新还是滚动加载新评论,都会自动清理目标评论。
方法二:用书签小工具(Bookmarklet)(临时方案)
如果你不想装扩展,可以把脚本做成书签,每次打开YouTube页面后点击书签运行,但这种方式没法自动应对页面刷新和动态加载,需要手动触发:
- 在Chrome书签栏右键,选择“添加书签”,名称填“移除年份评论”,网址栏粘贴下面的代码(把你的移除逻辑替换进去):
javascript:(function(){const comments=document.querySelectorAll('ytd-comment-thread-renderer');comments.forEach(c=>{const t=c.querySelector('#content-text').textContent.toLowerCase();if(t.includes('我在')&&t.includes('年观看此视频'))c.remove()})})();
- 打开YouTube视频页面后,点击这个书签就能执行移除操作,但新加载的评论需要再次点击书签。
关键注意点
- YouTube的DOM结构可能会更新,如果你发现脚本失效了,检查一下评论元素的选择器(比如
ytd-comment-thread-renderer、#content-text这些)是否需要调整。 - MutationObserver是处理动态内容的核心,它能监听页面DOM的变化,一旦有新评论加载进来,就自动执行移除逻辑。
内容的提问来源于stack exchange,提问作者ChaliceChore
相关产品推荐
相关产品推荐

