您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Changes the color of all text except the text within "Quotation Marks"
当前为
// ==UserScript== // @name Character.AI Text Color // @namespace Character.AI Text Color by Vishanka // @match https://*.character.ai/* // @grant none // @license MIT // @version 1.5 // @author Vishanka via chatGPT // @description Changes the color of all text except the text within "Quotation Marks" // @icon https://i.imgur.com/ynjBqKW.png // ==/UserScript== (function() { var css = "p, .swiper-no-swiping div { color: #958C7F !important; font-family: 'Noto Sans', sans-serif !important; }"; var head = document.getElementsByTagName("head")[0]; var style = document.createElement("style"); style.setAttribute("type", 'text/css'); style.innerHTML = css; head.appendChild(style); })(); function changeColors() { const pTags = document.getElementsByTagName('p'); for (let i = 0; i < pTags.length; i++) { const pTag = pTags[i]; if ( pTag.dataset.colorChanged === 'true' || pTag.querySelector('code') || pTag.querySelector('img') ) { continue; } let text = pTag.innerHTML; const aTags = pTag.getElementsByTagName('a'); // Get all <a> tags within the <p> tag // Remove the <a> tags temporarily for (let j = 0; j < aTags.length; j++) { const aTag = aTags[j]; text = text.replace(aTag.outerHTML, 'REPLACE_ME_' + j); // Use a placeholder to be able to restore the links later } //Changes Text within Quotation Marks to white if (text.match(/(["“”«»].*?["“”«»])/)) { text = text.replace(/(["“”«»].*?["“”«»])/g, '<span style="color: #FFFFFF">$1</span>'); } //Changes Text within Quotation Marks and a comma at the end to orange if (text.match(/(["“”«»][^"]*?,["“”«»])/)) { text = text.replace(/(["“”«»][^"]*?,["“”«»])/g, '<span style="color: #E0DF7F">$1</span>'); } //Changes Italic Text to gold if (text.match(/<em>(.*?)<\/em>/)) { text = text.replace(/<em>(.*?)<\/em>/g, '<span style="color: #E0DF7F; font-style: italic;">$1</span>'); } if (text.match(/(seems)/)) { text = text.replace(/(seems)/g, '<span style="color: #E0DF7F">$1</span>'); } if (text.match(/(seem)/)) { text = text.replace(/(seem)/g, '<span style="color: #E0DF7F">$1</span>'); } // Restore the <a> tags for (let j = 0; j < aTags.length; j++) { const aTag = aTags[j]; text = text.replace('REPLACE_ME_' + j, aTag.outerHTML); } pTag.innerHTML = text; pTag.dataset.colorChanged = 'true'; } console.log('Changed colors'); } // Observe changes in the document and call changeColors() whenever mutations occur const observer = new MutationObserver(changeColors); observer.observe(document, { subtree: true, childList: true }); // Initially apply the color changes changeColors();