Steam_Spoiler_Scraper

Steam 隐藏内容刮刀

当前为 2021-09-15 提交的版本,查看 最新版本

// ==UserScript==
// @name:zh-CN      Steam隐藏内容刮刀
// @name            Steam_Spoiler_Scraper
// @namespace       https://blog.chrxw.com
// @supportURL      https://blog.chrxw.com/scripts.html
// @contributionURL https://afdian.net/@chr233
// @version         1.2
// @description     Steam 隐藏内容刮刀
// @author          Chr_
// @include         /https://steamcommunity\.com/sharedfiles/filedetails/\?id=\d+?$/
// @license         AGPL-3.0
// @icon            https://blog.chrxw.com/favicon.ico
// ==/UserScript==

// 初始化
(() => {
    'use strict';
    addPanel();
    addFunction();

    // 添加按钮
    function addPanel() {
        function genBtn(name, foo, tooltip, id) {
            let s = document.createElement('span');
            s.className = 'general_btn tooltip';
            s.title = tooltip;
            s.textContent = name;
            s.addEventListener('click', foo);
            if (id) { s.id = id; }
            return s;
        }
        let btnReport = document.getElementById('ReportItemBtn');
        if (btnReport != null) {
            let btnDiv = btnReport.parentElement;
            let btnShow = genBtn('刮开', () => { scratchAll(true); }, '刮开所有隐藏', 'btnShow');
            let btnHide = genBtn('恢复', () => { scratchAll(false); }, '恢复所有隐藏', 'btnHide');
            btnDiv.appendChild(btnShow);
            btnDiv.appendChild(btnHide);
        }
    }
    // 为每个隐藏绑定函数
    function addFunction() {
        for (let ele of document.querySelectorAll('.bb_spoiler')) {
            ele.addEventListener('click', scratch);
        }
    }
    // 刮开单个隐藏
    function scratch(ele) {
        let s = ele.currentTarget;
        console.log(s.getAttribute('scratch'))
        if (s.getAttribute('scratch') != 'on') {
            for (let e of s.querySelectorAll('*')) {
                e.style.cssText = 'visibility:visible;color:#fff;';
            }
            s.setAttribute('scratch', 'on');
        } else {
            for (let e of s.querySelectorAll('*')) {
                e.style.cssText = '';
            }
            s.removeAttribute('scratch');
        }
    }
    // 刮开所有隐藏
    function scratchAll(show = true) {
        for (let ele of document.querySelectorAll('.bb_spoiler')) {
            if ((ele.getAttribute('scratch') != 'on') === show) {
                ele.click();
            }
        }
    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址