您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Позволяет вставлять HTML и CSS элементы, используя #(твой текст)#
// ==UserScript== // @name HTML Разметка в junon.io | RU // @namespace http://tampermonkey.net/ // @version 2.1 // @description Позволяет вставлять HTML и CSS элементы, используя #(твой текст)# // @author Belogvardeec // @license MIT // @match *://junon.io/* // @grant none // ==/UserScript== (function() { 'use strict'; function convertContentToHTMLCSS(element) { if (element.id === 'chat_input') return; // игнорируем меню чата где можно писать let content = element.value || element.textContent; // берём текст без HTML const regex = /#(.*?)#/g; if (!regex.test(content)) return; // если нет #...#, то идём нахуй // удаляем предыдущие элементы(кастомные), шобы избежать дублирования element.querySelectorAll('.custom-content').forEach(el => el.remove()); // добавляем стиль только один раз во избежание конфликтов if (!document.querySelector('.custom-style')) { const style = document.createElement('style'); style.className = 'custom-style'; style.innerHTML = ` .custom-content { color: white; font-size: 16px; } `; document.head.appendChild(style); } // замена #(текст)# на HTML-контент const newContent = content.replace(regex, (_, p1) => { return `<span class="custom-content">${p1}</span>`; }); // поддержка input'ов if (element.tagName.toLowerCase() === 'input') { let output = element.parentNode.querySelector('.custom-content-container'); if (!output) { output = document.createElement('div'); output.className = 'custom-content-container'; element.insertAdjacentElement('afterend', output); } output.innerHTML = newContent; } else { element.innerHTML = newContent; } // помечаем пупсика, шоб не втыкал element.dataset.converted = "true"; } function processElements() { document.querySelectorAll('input, .chat_content').forEach(element => { convertContentToHTMLCSS(element); }); } setInterval(processElements, 450); })();