您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Restrict YouTube subtitle language menu to only the target language.
- // ==UserScript==
- // @name YouTube - Limit Subtitle Languages
- // @description Restrict YouTube subtitle language menu to only the target language.
- // @version 0.2
- // @author to
- // @namespace https://github.com/to
- // @license MIT
- //
- //
- // @noframes
- // @match https://www.youtube.com/watch*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
- // ==/UserScript==
- (function () {
- // チェック対象の言語
- const TARGET_LANGUAGE = "日本語";
- // プレーヤーを監視する
- function observePlayer() {
- // 変更を監視する
- const player = document.querySelector('.html5-video-player');
- const observer = new MutationObserver(() => {
- // 翻訳言語メニューか?
- const menu = document.querySelector('.ytp-panel-menu');
- if (!menu || !Array.from(menu.childNodes).some(menuItem =>
- menuItem.textContent.trim() == TARGET_LANGUAGE))
- return;
- // 対象言語以外の言語を削除
- Array.from(menu.childNodes).forEach(menuItem => {
- if (!(menuItem.textContent.trim() == TARGET_LANGUAGE))
- menuItem.remove();
- });
- });
- observer.observe(player, {
- childList: true,
- subtree: true,
- });
- }
- // プレーヤーが見つかるのを待つ
- const intervalId = setInterval(() => {
- const player = document.querySelector('.html5-video-player');
- if (player) {
- clearInterval(intervalId);
- observePlayer();
- }
- }, 500);
- })();