【古诗文网】自动展开注释、译文和赏析

自动展开古诗文网的注释、译文和赏析内容

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

// ==UserScript==
// @name         【古诗文网】自动展开注释、译文和赏析
// @namespace   https://github.com/realSilasYang
// @version         2025-1-1
// @description    自动展开古诗文网的注释、译文和赏析内容
// @author          阳熙来
// @match          https://www.gushiwen.cn/*
// @grant            none
// @icon             https://www.google.com/s2/favicons?domain=https://www.gushiwen.cn
// @license         GNU GPLv3
// ==/UserScript==

(function() {
    'use strict';

    // 监听网页加载,完成后触发回调函数
    window.addEventListener('load', function() {
        /** 定义一个函数来模拟点击事件并在每次点击后添加延迟
         *
         * @param {string} selector - CSS选择器,用于查找需要点击的元素。
         * @param {number} delay - 每次点击之间的延迟时间,单位为毫秒。
         */
        function simulateClickWithDelay(selector, delay) {
            // 使用querySelectorAll查找所有匹配选择器的元素
            const buttons = document.querySelectorAll(selector);
            // 遍历所有找到的按钮元素
            buttons.forEach((button, index) => {
                // 计算每个按钮的延迟时间,确保每个按钮点击之间有固定的时间间隔
                const totalDelay = index * delay;
                // 使用setTimeout设置延迟,当达到指定的延迟时间后执行点击操作
                setTimeout(() => {
                    // 如果按钮存在,则模拟点击操作
                    if (button) {
                        button.click();
                    }
                }, totalDelay);
            });
        }

        // 模拟点击注解按钮并在每次点击后暂停0.5秒
        simulateClickWithDelay('img[src="https://ziyuan.guwendao.net/siteimg/zhu-pic.png"]', 500);
        simulateClickWithDelay('img[src="https://ziyuan.guwendao.net/siteimg/yi-pic.png"]', 500);
        simulateClickWithDelay('img[src="https://ziyuan.guwendao.net/siteimg/shang-pic.png"]', 500);
    });
})();