YouTube Title Cleaner

Cleans YouTube tab titles by removing notification numbers and the "- YouTube" suffix, updating automatically when page content changes.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         YouTube Title Cleaner
// @namespace    https://violentmonkey.github.io/
// @version      1.0
// @description  Cleans YouTube tab titles by removing notification numbers and the "- YouTube" suffix, updating automatically when page content changes.
// @author       Alyssa B. Morton
// @license      MIT
// @match        *://*.youtube.com/*
// @grant        none
// ==/UserScript==

(function () {
    "use strict";

    function cleanTitle() {
        setTimeout(() => {
            let title = document.title;

            // Remove notification count e.g. "(7) Video name"
            title = title.replace(/^\(\d+\)\s*/g, "");

            // Remove " - YouTube" at the end of the title
            title = title.replace(/\s*-\s*YouTube\s*$/i, "");

            document.title = title;
        }, 300); // small delay to ensure YouTube updates title first
    }

    // Run on load
    cleanTitle();

    // Detect title changes (YouTube is SPA and changes title dynamically)
    const observer = new MutationObserver(cleanTitle);
    observer.observe(document.querySelector("title"), { childList: true });

})();