文章

Tampermonkey-JS-Replace

如何拦截当前页面加载的js并且进行替换?

方案一: chrome插件有个文件拦截替换

方案二: lightproxy fiddler 但是都太重了。

方案三: 油猴脚本如下

// ==UserScript==
// @name         替换js
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        *://*/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=aliyundrive.com
// @require https://scriptcat.org/lib/637/1.4.3/ajaxHooker.js
// @run-at       document-start
// @grant        none
// ==/UserScript==



(function () {
    'use strict';

    const observer = new MutationObserver(mutations => {
        mutations.forEach(mutation => {
            mutation.addedNodes.forEach(node => {
                if (node.tagName === 'SCRIPT' && node.src == 'js全路径') {
                    console.log('检测到加载的脚本 URL:', node.src);
                    const replacedScript = document.createElement('script');
                    replacedScript.src = '替换后的js地址/建议cdn'; // 替换为您想要的 URL
                    replacedScript.onload = function () {
                        console.log('新脚本已加载:', replacedScript.src);
                    };
                    node.parentNode.replaceChild(replacedScript, node);
                }
            });
        });
    });

    // 观察整个文档
    observer.observe(document, { childList: true, subtree: true });
})();