Bilibili 直播自动隐藏礼物栏

进入直播间自动隐藏礼物栏,按 Shift+G 恢复。

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Bilibili 直播自动隐藏礼物栏
// @namespace    delton.me
// @version      2025-06-23
// @description  进入直播间自动隐藏礼物栏,按 Shift+G 恢复。
// @author       dsh0416
// @homepage     https://github.com/dsh0416
// @match        *://live.bilibili.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    let showing = true;

    function trigger() {
        if (showing) {
            hide();
        } else {
            recover();
        }
    }

    function hide() {
        showing = false;
        const style = document.createElement('style');
        style.textContent = ".gift-panel { visibility: hidden; }";

        document.head.append(style);
        console.log("Gift hidden injected");
    }

    function recover() {
        showing = true;
        const style = document.createElement('style');
        style.textContent = ".gift-panel { visibility: visible; }";

        document.head.append(style);
        console.log("Gift hidden recovered");
    }
    
    (() => {
        hide();

        window.onkeyup = function(e){
            if (e.shiftKey && e.key === "G") {
                trigger();
            }
        };
    })();
})();