Remove all "[inhales]", "[loud noise]" sounds and music lyrics from the subtitles
当前为
// ==UserScript== // @name Netflix subtitle cleanup // @namespace Violentmonkey Scripts // @match https://www.netflix.com/* // @grant none // @version 1.1 // @author Einar Lielmanis, [email protected] // @license MIT // @description Remove all "[inhales]", "[loud noise]" sounds and music lyrics from the subtitles // ==/UserScript== let observed_node = undefined const on_mutated = (changes) => { const ts = observed_node.querySelectorAll('.player-timedtext-text-container span') for (let i = 0; i < ts.length; i++) { const t = ts[i].innerHTML let nt = t if (t.includes('♪')) { nt = ""; // ignore song lyrics } else if (t.includes('[') && t.includes(']')) { nt = t.replace(/\[[^\]]+\]/g, '') // "[" .. (not "]")+ .. "]" } if (nt !== t) { ts[i].innerHTML = nt // console.log({ original: t, filtered: nt }) } } } const observer = new MutationObserver(on_mutated) const reobserve = () => { const elems = document.getElementsByClassName('player-timedtext') if (elems[0] !== undefined) { if (observed_node !== elems[0]) { observed_node = elems[0] console.log({ observed_node }) observer.observe(observed_node, { childList: true, subtree: true}) } } window.setTimeout(reobserve, 1000) } console.log('Netflix subtitle filter userscript starting up') reobserve()