EX煎蛋-煎蛋直接显示原图

煎蛋直接显示原图,GIF自动加载,适配新版PC端

当前为 2025-04-18 提交的版本,查看 最新版本

// ==UserScript==
// @name         EX煎蛋-煎蛋直接显示原图
// @namespace    https://gf.qytechs.cn/zh-CN/scripts/34894
// @version      0.6
// @description  煎蛋直接显示原图,GIF自动加载,适配新版PC端
// @author       dazzulay
// @match        https://jandan.net/*
// @run-at        document-body
// @grant         none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...

    // 目标图片css
    let targetClass = '.img-container';

    // 先运行一次,防止后台打开标签页
    let targets = document.querySelectorAll(targetClass);
    targets.forEach(handleTargetElement);

    // 替换图片
    function handleTargetElement(element) {
        let imglink = element.querySelector('.img-link').getAttribute('href');

        let img = element.querySelector('img');
        if (img) img.remove();

        let gifOverlay = element.querySelector('.gif-overlay');
        if (gifOverlay) gifOverlay.remove();

        let newImg = document.createElement('img');
        newImg.setAttribute('src', imglink);
        element.querySelector('.img-link').after(newImg);
    }

    // 选择需要观察变动的节点
    const targetNode = document.body;

    // 观察器的配置(需要观察什么变动)
    const config = {
        childList: true, // 观察该元素的子元素新增或者删除
        subtree: true, //该元素的所有子元素新增或者删除
    };

    // 当观察到变动时执行的回调函数
    const callback = function(mutationsList, observer) {
        mutationsList.forEach((mutation) => {
            // 检查所有新增的节点
            mutation.addedNodes.forEach((node) => {
                // 如果是元素节点(而不是文本节点等)
                if (node.nodeType === Node.ELEMENT_NODE) {
                    // 检查当前节点是否匹配目标选择器
                    if (node.matches(targetClass)) {
                        handleTargetElement(node);
                    }

                    // 检查当前节点的所有子元素(包括深层嵌套)
                    const nestedTargets = node.querySelectorAll(targetClass);
                    nestedTargets.forEach(handleTargetElement);
                }
            });
        });
    };

    // 创建一个观察器实例并传入回调函数
    const ob = new MutationObserver(callback);
    // 开始观察目标节点
    ob.observe(targetNode, config);

})();

QingJ © 2025

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