您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Warn Users for PROD envs
// ==UserScript== // @name ECOD-Live-Warnings // @namespace ecod.live.warnings // @version 1.0.3 // @description Warn Users for PROD envs // @author CRK // @match https://www.retailecoscore.net/* // @match https://retailecoscore.net/* // @match https://www.ecodesigncloud.com/* // @match https://ecodesigncloud.com/* // @match https://deployment.ecodesigncloud.com/* // @match https://cluster-dashboard.ecodesigncloud.com/* // @match https://pgadmin.ecodesigncloud.com/* // @match https://apim.ecodesigncloud.com/* // @match https://rollouts-dashboard.ecodesigncloud.com/* // @match https://workflows.ecodesigncloud.com/* // @grant none // @license MIT // @require https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.13.6/underscore-umd-min.js // ==/UserScript== (function() { 'use strict'; // Debounce function function debounce(func, delay) { let timeout; return function() { const context = this; const args = arguments; clearTimeout(timeout); timeout = setTimeout(() => { func.apply(context, args); }, delay); }; } // Function to create and append the live text function createLiveText() { var liveText = document.createElement('div'); liveText.innerHTML = 'LIVE'; liveText.style.position = 'fixed'; liveText.style.padding = '3px'; liveText.style.top = '0'; liveText.style.left = '0'; liveText.style.color = 'white'; liveText.style.backgroundColor = 'red'; liveText.style.fontSize = '40px'; liveText.style.fontFamily = 'Arial'; liveText.style.fontWeight = 'bold'; liveText.style.zIndex = '9999'; // Make sure it's always on top document.documentElement.appendChild(liveText); } // Initial creation of the live text createLiveText(); // Function to reapply live text after AJAX updates, with debounce const debouncedReapplyLiveText = debounce(function() { var liveText = document.querySelector('#liveText'); if (!liveText) { createLiveText(); } }, 5000); // Debounce for 5 seconds // Create a MutationObserver to detect changes in the DOM var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { debouncedReapplyLiveText(); }); }); // Configuration of the MutationObserver var config = { attributes: true, childList: true, subtree: true }; // Start observing the document observer.observe(document.body, config); })();