Grinch-Lite

Start all HTML5 audio sources at 1%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Grinch-Lite
// @namespace    rdrama.net
// @version      0.0.0.0.2
// @description  Start all HTML5 audio sources at 1%
// @match        https://rdrama.net/*
// @grant        none
// ==/UserScript==


(function() {
    const setVol = el => {
        if (el && el.volume !== 0.01) {
            el.volume = 0.01;
        }
    };

    document.querySelectorAll("audio").forEach(setVol);

    const observer = new MutationObserver(mutations => {
        for (const m of mutations) {
            m.addedNodes.forEach(node => {
                if (node.tagName === "AUDIO") {
                    setVol(node);
                } else if (node.querySelectorAll) {
                    node.querySelectorAll("audio").forEach(setVol);
                }
            });
        }
    });

    observer.observe(document.body, { childList: true, subtree: true });
})();