您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Logs network requests, user interactions, and DOM mutations
// ==UserScript== // @name Universal Logger // @namespace http://tampermonkey.net/ // @version 1.1 // @description Logs network requests, user interactions, and DOM mutations // @author 4koy // @match *://*/* // @grant none // @run-at document-start // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to log fetch API calls const originalFetch = window.fetch; window.fetch = function(...args) { console.log("Intercepted fetch request:", args); return originalFetch(...args).then(response => { console.log("API response:", response); return response; }).catch(err => { console.error("Fetch request error:", err); throw err; }); }; // Function to log XMLHttpRequests const originalXHR = window.XMLHttpRequest; window.XMLHttpRequest = function() { const xhr = new originalXHR(); const open = xhr.open; const send = xhr.send; // Intercept open method to log the URL and method xhr.open = function(method, url, ...rest) { console.log(`Intercepted XMLHttpRequest: ${method} ${url}`); return open.call(this, method, url, ...rest); }; // Intercept send method to log the data being sent xhr.send = function(data) { console.log("Sending data via XMLHttpRequest:", data); return send.call(this, data); }; return xhr; }; // Log DOM mutations const observer = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { console.log("DOM Mutation detected:", mutation); } }); // Optionally log console output as well const originalConsoleLog = console.log; console.log = function(...args) { originalConsoleLog("Console log output:", ...args); }; const originalConsoleError = console.error; console.error = function(...args) { originalConsoleError("Console error:", ...args); }; const originalConsoleWarn = console.warn; console.warn = function(...args) { originalConsoleWarn("Console warning:", ...args); }; })();