您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Colorful usernames without newMessage text
// ==UserScript== // @name Torn Chat Enhancer 1.3 (Ultra Simple) // @namespace http://tampermonkey.net/ // @version 1.3 // @description Colorful usernames without newMessage text // @author Mr_Awaken (Fixed) // @match *://www.torn.com/* // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; // Simple style with basic selectors const style = document.createElement('style'); style.textContent = ` /* Show usernames with colors */ [class*="chat-box-message__sender"] { display: inline !important; visibility: visible !important; font-weight: bold !important; margin-right: 5px !important; } /* Your messages in green */ [class*="chat-box-message__box--self"] [class*="chat-box-message__sender"] { color: #00C853 !important; } /* Their messages in blue */ [class*="chat-box-message__box"]:not([class*="--self"]) [class*="chat-box-message__sender"] { color: #2962FF !important; } `; // Insert style as soon as possible function addStyle() { if (document.head) { document.head.appendChild(style); } else { // If head isn't ready, wait for it document.addEventListener('DOMContentLoaded', () => { document.head.appendChild(style); }); } } // Simple function to remove "newMessage" text function removeNewMessageText() { const messages = document.querySelectorAll('[class*="chat-box-message__box"]'); messages.forEach(message => { // Walk through all text nodes const walker = document.createTreeWalker( message, NodeFilter.SHOW_TEXT, null, false ); let node; while (node = walker.nextNode()) { if (node.nodeValue && node.nodeValue.includes('newMessage')) { node.nodeValue = node.nodeValue.replace(/newMessage/g, ''); } } }); } // Watch for changes to fix messages function watchForChanges() { // Initial run removeNewMessageText(); // Set up observer for chat messages const observer = new MutationObserver(() => { removeNewMessageText(); }); // Start observing observer.observe(document.body, { childList: true, subtree: true }); // Also run periodically setInterval(removeNewMessageText, 1000); } // Add style immediately addStyle(); // Set up the rest once DOM is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', watchForChanges); } else { watchForChanges(); } })();