您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
grafana html decode
当前为
// ==UserScript== // @name grafana-html-decode // @namespace http://tampermonkey.net/ // @version 0.9 // @description grafana html decode // @author chong // @include *://*.otr-devops.cn.svc.corpintra.net/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // HTML解码函数 function decodeHTML(html) { var txt = document.createElement('textarea'); txt.innerHTML = html; return txt.value; } // 解码指定元素的内容 function decodeHTMLForElements(elements) { elements.forEach(element => { element.innerHTML = decodeHTML(element.innerHTML); }); } // 主解码逻辑 function decodeAll() { // 解码所有具有特定类名的元素 const messageElements = document.querySelectorAll('.css-uev0p3-logs-row__message'); decodeHTMLForElements(messageElements); // 解码所有表格单元格内容 const tableCells = document.querySelectorAll('.css-xdnfhu-logs-row-details-table'); decodeHTMLForElements(tableCells); console.log('解码完成!'); } // 动态添加解码按钮 function addDecodeButton() { // 选择所有符合条件的 <button> 元素 const targetButtons = document.querySelectorAll('button.show-on-hover.css-pi41z0-toolbar-button-panel-menu[title="Menu"][data-testid*="Panel menu Logs"]'); targetButtons.forEach((targetButton) => { // 检查是否已经添加过按钮 if (!targetButton.nextElementSibling || !targetButton.nextElementSibling.classList.contains('custom-decode-button')) { // 创建新的按钮 const decodeButton = document.createElement('button'); decodeButton.className = 'custom-decode-button css-pi41z0-toolbar-button-panel-menu'; decodeButton.innerText = 'Decode'; decodeButton.title = 'Decode HTML entities'; decodeButton.onclick = decodeAll; // 设置按钮样式,使其位于目标按钮的右边 decodeButton.style.marginLeft = '10px'; // 添加一些左边距 // 将按钮插入到目标按钮的右边 targetButton.parentNode.insertBefore(decodeButton, targetButton); } }); } // 延迟1000毫秒后执行addDecodeButton函数 setTimeout(addDecodeButton, 1000); })();