您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a text background fixing the invisible gradient on some themes
// ==UserScript== // @name messageBackground // @description Adds a text background fixing the invisible gradient on some themes // @description:ru Добавляет фон для некоторого текста, исправляя невидимый градиент в некоторых темах // @namespace https://gitlab.com/yegorgunko/shikme-scripts // @match https://shikme.ru/ // @grant none // @version 0.2 // @icon https://shikme.ru/default_images/icon.png // ==/UserScript== const transparency = { "0": "00", "5": "0D", "10": "1A", "15": "26", "20": "33", "25": "40", "30": "4D", "35": "59", "40": "66", "45": "73", "50": "80", "55": "8C", "60": "99", "65": "A6", "70": "B3", "75": "BF", "80": "CC", "85": "D9", "90": "E6", "95": "F2", "100": "FF" }; const genStyle = (color, strength) => `.chat_message,.my_text .username,.user_lm_data .username{position:relative;padding:0 .3rem;background-color:${color}${transparency[strength]}}.cright.pheight,.my_text{z-index:1}.pheight{z-index:2}.wrap_right_data{z-index:3}.panel_bar{z-index:4}.crheight{z-index:5}.username.gradient-text::after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background-color:${color}${transparency[strength]};z-index:-1}.chat_message,.my_text .username,.my_text .username.gradient-text::after,.user_lm_data .username,.user_lm_data .username.gradient-text::after{border-radius:1rem}.chat_message{display:inherit}`; window.addEventListener("load", () => { const options = JSON.parse(window.localStorage.getItem("messageOverlay")) || { color: "#000000", strength: 50 }; const el = document.createElement("style"); el.type = "text/css"; el.id = "messageOverlayStyle"; el.appendChild( document.createTextNode(genStyle(options.color, options.strength)) ); document.head.appendChild(el); document.getElementById("chat_left_menu").innerHTML += '<div class="list_element left_item"><div id="messageOverlayOptions" class=left_item_in><i id=messageOverlayOptionsIcon class="fa fa-tint menui"></i>Фон сообщений</div></div>'; document.addEventListener("click", ({ target: { id } }) => { if (["messageOverlayOptions", "messageOverlayOptionsIcon"].includes(id)) { document.getElementById( "large_modal_content" ).innerHTML = `<div class="modal_wrap_top modal_top" id="modal_top_profile"><div class="cancel_modal profile_close"><i class="fa fa-times"></i></div></div><div class="pad_box"><div class="boom_form"><div class="chat_settings"><p class="label">Цвет фона</p><input id="overlayColorInput" type="color" value="${options.color}"></div><div class=сhat_settings><p class=label>Затемнение фона (<span id=messageOverlayStrengthSpan>${options.strength}</span>%)</p><input id=messageOverlayStrengthInput type=range min=0 max=100 step=5 value=${options.strength} style=width:100%></div></div></div>`; document.getElementById("large_modal").style.display = "block"; document .getElementById("overlayColorInput") .addEventListener("change", ({ target: { value } }) => { document.getElementById("messageOverlayStyle").innerHTML = genStyle( value, options.strength ); options.color = value; setTimeout(() => { window.localStorage.setItem( "messageOverlay", JSON.stringify(options) ); }, 1000); }); document .getElementById("messageOverlayStrengthInput") .addEventListener("input", ({ target: { value } }) => { document.getElementById("messageOverlayStyle").innerHTML = genStyle( options.color, value ); document.getElementById( "messageOverlayStrengthSpan" ).innerHTML = value; options.strength = value; setTimeout(() => { window.localStorage.setItem( "messageOverlay", JSON.stringify(options) ); }, 1000); }); } }); });