防覆盖

避免 content-wrapper 被覆盖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         防覆盖
// @namespace    https://yffjglcms.com/
// @version      1.0
// @description  避免 content-wrapper 被覆盖
// @match        https://doc.iocoder.cn/*
// @grant        none
// @run-at       document-start
// @run-at       document-body
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // 保存原始的 jQuery.html 方法
    const originalHtml = $.fn.html;

    // 重写 jQuery.html 方法
    $.fn.html = function(content) {
        if (this.hasClass("content-wrapper")) {
            console.log("拦截了对 .content-wrapper 的修改:", content);
            return this; // 阻止修改
        }
        return originalHtml.apply(this, arguments);
    };

    // 拦截 setTimeout,阻止指定的代码执行
    const originalSetTimeout = setTimeout;
    window.setTimeout = function(callback, delay) {
        const callbackStr = callback.toString();
        if (callbackStr.includes('$(".content-wrapper").html')) {
            console.log("拦截了 setTimeout 中的修改操作:", callbackStr);
            return; // 阻止执行
        }
        return originalSetTimeout(callback, delay);
    };
})();