您的当前位置:首页 > 热点 > 腾讯视频去字幕代码 正文

腾讯视频去字幕代码

时间:2026-10-17 04:35:10 来源:网络整理 编辑:热点

核心提示

腾讯视频去字幕代码 打开腾讯视频,满屏弹幕和字幕混在一起,有时候只想安静看个画面,偏偏字幕碍眼。我试过用浏览器自带的开发者工具手动删节点,但每次换视频都要重来一遍,烦透了。后来干脆写了个油猴脚本,一

腾讯视频去字幕代码

打开腾讯视频,腾讯满屏弹幕和字幕混在一起,视频有时候只想安静看个画面,去字偏偏字幕碍眼。幕代码我试过用浏览器自带的腾讯开发者工具手动删节点,但每次换视频都要重来一遍,视频烦透了。去字后来干脆写了个油猴脚本,幕代码一劳永逸。腾讯

核心思路很简单——等视频加载完,视频找到字幕的去字DOM元素,直接干掉。幕代码腾讯视频的腾讯字幕容器类名带 `.subtitle` 或者 `[class*="subtitle"]`,但不同版本会变。视频我写了个通用匹配:

// ==UserScript== // @name 腾讯视频去字幕 // @match https://v.qq.com/* // @run-at document-end // ==/UserScript== function removeSubtitle() {  const targets = document.querySelectorAll('div[class*="subtitle"],去字 div[class*="Subtitle"]'); targets.forEach(el => el.style.display = 'none'); } // 视频切换时字幕会重新生成,用MutationObserver盯着 const observer = new MutationObserver(() => removeSubtitle()); observer.observe(document.body, {  childList: true, subtree: true }); removeSubtitle();

这代码有个坑——腾讯视频的字幕有时藏在shadow DOM里,普通选择器抓不到。我踩过这个坑,后来发现得先穿透shadow root。加上递归遍历:

function deepQuery(root) {  root.querySelectorAll('*').forEach(el => {  if (el.shadowRoot) {  removeSubtitleInShadow(el.shadowRoot); deepQuery(el.shadowRoot); } }); }

还有更粗暴的招:直接用CSS覆盖所有`video`标签的`::cue`伪元素,把字幕颜色设成透明。但这招对腾讯自绘的HTML字幕无效,只对原生``有效。我两种方法混着用,基本能覆盖九成情况。

别迷信网上那些“一行代码去字幕”的教程,多半是标题党。实际写下来,要考虑视频切换、弹幕层干扰、全屏模式变化。我脚本里加了`setInterval`每两秒检查一次,虽然有点笨,但胜在稳定。

最后提醒一句:这脚本只针对网页版。客户端和APP的字幕是硬编码进视频流的,去不掉,除非你下载原片自己处理。至于代码放哪?装个Tampermonkey,新建脚本粘贴进去,刷新页面就生效。我用了半年,没崩过。

上一篇:判断网站