ctfshow辅助

show again!

目前為 2021-11-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name         ctfshow辅助
// @namespace    http://peterzhang.top/
// @version      0.1
// @description  show again!
// @author       PeterZhang<[email protected]>
// @match        https://ctf.show/challenges
// @icon         https://peterzhang.top/favicon.ico
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    // Your code here...
    const prefix = 't-';

// style
    $('head').append(
        `<style>
            .content-index-outer{
                position: absolute;
                right: -80px;
                top: 120px;
                height: 100%;
            }
            .content-index{
                position: sticky;
                position: -webkit-sticky;
                top: 80px;
                padding: 5px;
                background-color: #eeeeee;
                overflow-y: scroll;
            }
            .my-link{
                cursor: pointer;
                font-size: 0.8em;
            }
            .my-link:hover{
                background-color: #b9bcbf;
            }
        </style>`
    );

    function refreshContentIndex(records, observer) {
        if (records[0].target.style.display !== 'none' || $('#challenges-board .category-header h3').length < 1) {
            return;
        }
        const outerDiv = $(`<div class="content-index-outer"></div></div>`);
        const div = $(`<div class="content-index">`);
        div[0].style.maxHeight = (window.innerHeight - 100) + 'px';
        outerDiv.append(div);
        $('#challenges-board').append(outerDiv);
        $('#challenges-board .category-header h3').each(function () {
            $(this).attr('id', `${prefix}${$(this).text()}`);
            const a = $(`
            <div class="my-link">${$(this).text()}</div>
        `);
            a.click(() => {
                $('html, body').animate({scrollTop: $(this).offset().top - 80}, 200);
            });
            div.append(a);
        });
    }

    let observer = new MutationObserver(refreshContentIndex);
    observer.observe($('#chall-load-spinner')[0], {attributes: true});
})();

QingJ © 2025

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