// ==UserScript== // @name SubHD屏蔽机翻字幕 // @namespace http://tampermonkey.net/ // @version 1.2 // @description 添加启用/禁用屏蔽机器翻译字幕的开关按钮,通过按钮样式区分状态 // @license MIT // @match https://subhd.tv/d/* // @icon https://www.google.com/s2/favicons?sz=64&domain=subhd.tv // @grant none // @downloadURL https://update.greasyfork.icu/scripts/519889/SubHD%E5%B1%8F%E8%94%BD%E6%9C%BA%E7%BF%BB%E5%AD%97%E5%B9%95.user.js // @updateURL https://update.greasyfork.icu/scripts/519889/SubHD%E5%B1%8F%E8%94%BD%E6%9C%BA%E7%BF%BB%E5%AD%97%E5%B9%95.meta.js // ==/UserScript== (function () { 'use strict'; const blockKeyword = "机器翻译"; // 屏蔽关键字 let isEnabled = true; // 默认启用屏蔽 // 添加屏蔽按钮 const addToggleButton = () => { const viewText = document.querySelector('.pt-4.view-text'); if (!viewText) return; const subscribeBtn = viewText.querySelector('button.btn[role="button"]'); if (!subscribeBtn) return; // 插入屏蔽按钮 const btnHTML = ` `; subscribeBtn.insertAdjacentHTML('afterend', btnHTML); const toggleButton = document.getElementById('toggleTranslateFilter'); toggleButton.addEventListener('click', () => { isEnabled = !isEnabled; updateButtonStyle(toggleButton); if (isEnabled) { hideTranslatedEntries(); } else { document.querySelectorAll('.row.pt-2.mb-2').forEach(row => row.style.display = ''); } }); }; // 更新按钮样式 const updateButtonStyle = (button) => { if (isEnabled) { button.className = "btn btn-info btn-sm f12 me-1 fav"; button.innerHTML = ` 屏蔽机翻 `; } else { button.className = "btn btn-outline-info btn-sm f12 me-1 fav"; button.innerHTML = ` 屏蔽机翻 `; } }; // 隐藏含关键字的条目 const hideTranslatedEntries = () => { document.querySelectorAll('.row.pt-2.mb-2').forEach(row => { if (row.querySelector('.bg-secondary') && row.querySelector('.bg-secondary').textContent.includes(blockKeyword)) { row.style.display = 'none'; // 隐藏含“机器翻译”条目 } }); }; // 监听页面变化,动态屏蔽新增条目 const observer = new MutationObserver(() => { if (isEnabled) hideTranslatedEntries(); }); observer.observe(document.body, { childList: true, subtree: true }); // 初始设置 addToggleButton(); if (isEnabled) hideTranslatedEntries(); // 默认启用时屏蔽 })();