您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make text into rainbow
// ==UserScript== // @name Rainbow Text // @version 1.1 // @description Make text into rainbow // @namespace awkward_potato:3 // @include https://forums.oneplus.net/threads/* // @include https://forums.oneplus.net/conversations/* // @grant none // ==/UserScript== function tohex(decval) { var l, h; var str = ""; l = Math.floor(decval % 16); h = Math.floor(decval / 16); if (h < 10) { str = "" + h; } if (h > 9) { switch (h) { case 10: str = "A"; break; case 11: str = "B"; break; case 12: str = "C"; break; case 13: str = "D"; break; case 14: str = "E"; break; case 15: str = "F"; break; default: str = "X"; break; } } if (l < 10) { str = str + "" + l; } if (l > 9) { switch (l) { case 10: str += "A"; break; case 11: str += "B"; break; case 12: str += "C"; break; case 13: str += "D"; break; case 14: str += "E"; break; case 15: str += "F"; break; default: str += "X"; break; } } return str; } function todec(hexval) { var l, h; hexstr = new String(hexval).toUpperCase(); switch (hexstr.charAt(0)) { case "A": h = 10; break; case "B": h = 11; break; case "C": h = 12; break; case "D": h = 13; break; case "E": h = 14; break; case "F": h = 15; break; default: h = eval(hexstr.charAt(0)); } switch (hexstr.charAt(1)) { case "A": l = 10; break; case "B": l = 11; break; case "C": l = 12; break; case "D": l = 13; break; case "E": l = 14; break; case "F": l = 15; break; default: l = eval(hexstr.charAt(1)); } return l + 16 * h; } function hexToRGB(hexval) { str = new String(hexval).toUpperCase(); if (str.charAt(0) == "#") str = str.substr(1); g_r = todec(str.substr(0, 2)); g_g = todec(str.substr(2, 2)); g_b = todec(str.substr(4, 2)); } function getSFXColor(k) { var r, g, b, k1, min, max; //if (g_cstyle == 0) { k1 = k; r = 127 + 127 * Math.cos(k1 - .5); g = 127 + 127 * Math.cos(k1 - 2.5); b = 127 + 127 * Math.cos(k1 - 4.5); min = r; if (g < min) min = g; if (b < min) min = b; r -= min; g -= min; b -= min; max = r; if (g > max) max = g; if (b > max) max = b; max = 255.0 / max; r *= max; g *= max; b *= max; var tekBright = 200; var tekContrast = 255; max = (tekBright / 255) * (tekContrast / 255); min = (255 - tekContrast) * (tekBright / 255); r = r * max + min; g = g * max + min; b = b * max + min; if (r < 0) r = 0; if (g < 0) g = 0; if (b < 0) b = 0; if (r > 255) r = 255; if (g > 255) g = 255; if (b > 255) b = 255; /*} if (g_cstyle == 1) { k -= Math.floor(k); r = r1 + k * dr; g = g1 + k * dg; b = b1 + k * db; } if (g_cstyle == 2) { k -= 2 * Math.floor(k / 2); if (k < 1) { r = r1 + k * dr; g = g1 + k * dg; b = b1 + k * db; } if (k >= 1) { k -= 2; r = r1 - k * dr; g = g1 - k * dg; b = b1 - k * db; } } if (g_cstyle == 3) { k -= 3 * Math.floor(k / 3); if (k < 1) { r = r1 + k * dr; g = g1 + k * dg; b = b1 + k * db; } if (k >= 1 && k < 2) { k -= 1; r = r2 + k * dr1; g = g2 + k * dg1; b = b2 + k * db1; } if (k >= 2) { k -= 2; r = r3 + k * dr2; g = g3 + k * dg2; b = b3 + k * db2; } }*/ g_r = r; g_g = g; g_b = b; } function setOutSizeIndicator(divtext) { document.getElementById("charssub").setAttribute("id", "oldsub"); var newdiv = document.createElement("div"); newdiv.setAttribute("id", "charssub"); var newtext = document.createTextNode(divtext); newdiv.appendChild(newtext); document.getElementById("chars").appendChild(newdiv); document.getElementById("chars").removeChild(document.getElementById("oldsub")); } function preview() {} function MakeSFX(inputString, outputHTML) { var r, g, b; var i, j, k, l; var x, scale, res; var min, max; var in_tag = 0; var oignumi = 0; temp = new String(""); var numreps = 1;//parseInt($("#gradient_repeat").val()); if (numreps < 1) numreps = 1; if (numreps > 10) numreps = 10; instr = inputString; outstr = new String(""); tempstr = new String(""); res = 1; j = instr.length; //if (gradientType == "rainbow") { scale = Math.PI * (2 * eval(numreps) - .21) / j; g_cstyle = 0; /*} if (gradientType == "oneway") { scale = numreps / j; g_cstyle = 1; } if (gradientType == "backandforth") { scale = 2.0 * numreps / j; g_cstyle = 2; } if (gradientType == "tricolor") { scale = 3.0 * numreps / j; g_cstyle = 3; } if (gradientType == 'oneway' || gradientType == 'backandforth') { hexToRGB($("#gradient_1").val()); r1 = g_r; g1 = g_g; b1 = g_b; hexToRGB($("#gradient_2").val()); r2 = g_r; g2 = g_g; b2 = g_b; dr = 0.0 + r2 - r1; dg = 0.0 + g2 - g1; db = 0.0 + b2 - b1; }*/ for (i = 0; i < j; i++) { if (instr.charAt(i) == "<") in_tag = 1; if (in_tag == 0) { k = scale * i; getSFXColor(k); r = g_r; g = g_g; b = g_b; tempstr = tohex(r) + tohex(g) + tohex(b); temp = instr.charAt(i); if (instr.charAt(i) == "&") { for (l = i + 1; l < j; l++) { if (instr.charAt(l) == " ") break; if (instr.charAt(l) == "<") break; if (instr.charAt(l) == ">") break; if (instr.charAt(l) == ";") break; } if (instr.charAt(l) == ";") { temp = instr.substr(i, l - i + 1); } } if (outputHTML) { if (i % res == 0) { outstr = outstr + "<font color='#" + tempstr + "'>"; oignumi = 1; } outstr = outstr + temp; if ((i + 1) % res == 0) { outstr = outstr + "</font>"; oignumi = 0; } } else { if (i % res == 0) { outstr = outstr + "[color=#" + tempstr + "]"; oignumi = 1; } outstr = outstr + temp; if ((i + 1) % res == 0) { outstr = outstr + "[/color]"; oignumi = 0; } } if (temp.length > 1) i += (temp.length - 1); } if (in_tag == 1) outstr = outstr + instr.charAt(i); if (instr.charAt(i) == ">") in_tag = 0; } if (oignumi > 0) { if (document.colorform.out_format.value == "html") outstr = outstr + "</font>"; if (document.colorform.out_format.value == "bbc") outstr = outstr + "[/color]"; } return outstr; } function UpdateRGB(ctl) { var lum; ctl.style.backgroundColor = ctl.value; hexToRGB(ctl.value); lum = .29 * g_r + .57 * g_g + .14 * g_b; if (lum < 96) { ctl.style.color = "#FFFFFF"; } else { ctl.style.color = "#000000"; } preview(); } function flipbkg(ctl) { if (prevbkc == "#FFFFFF") prevbkc = "#000000"; else prevbkc = "#FFFFFF"; ctl.style.backgroundColor = prevbkc; } function rainbow() { var iframe; if (document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_NoAutoComplete')[0]) { iframe = document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_NoAutoComplete')[0]; } else if (document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_')[0]) { iframe = document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_')[0]; } var message = iframe.contentWindow.document.getElementsByTagName('body')[0].innerHTML; if (message.indexOf("http") == -1 && message.indexOf("www") == -1 && message.indexOf("@") == -1 && message.indexOf("QUOTE") == -1 && message.indexOf("[/color]") == -1 && message.indexOf("<font color") == -1&& message.indexOf(":") == -1 && message.indexOf("[COLOR") == -1) { iframe.contentWindow.document.getElementsByTagName('body')[0].innerHTML = MakeSFX(message, false); } else { var imgregex = /(\<img([\s\S]*?)\>)/igm; var linkregex= /(\<a([\s\S]*?)<\/a\>)/igm; var urlregex = /(((f|ht)tps?:\/\/)(.*?)[\S][^<>]+)/igm; var regex =/(\@(\badam kristo\b|\bHanson Lee\b|[\S]+))|(\[QUOTE\]?[\s\S]*?\[\/QUOTE\])|(\[SPOILER\]?[\s\S]*?\[\/SPOILER\])|(\[IMG\]?[\s\S]*?\[\/IMG\])|(\[MEDIA\]?[\s\S]*?\[\/MEDIA\])|(\[PHP\]?[\s\S]*?\[\/PHP\])|(\[CODE\]?[\s\S]*?\[\/CODE\])|(\[HTML\]?[\s\S]*?\[\/HTML\])|(\[COLOR\]?[\s\S]*?\[\/COLOR\])|\;\)|\:D|\:\(|8\-\)|\:\)|(\:\/)(?![\/])|\:P/igm var imgrest = /(\[color=#[\w\d]+\]§\[\/color\])/im; var linkrest = /(\[color=#[\w\d]+\]╗\[\/color\])/im; var urlrest = /(\[color=#[\w\d]+\]▒\[\/color\])/im; var tagrest = /(\[color=#[\w\d]+\]▓\[\/color\])/im; var imgs = message.match(imgregex); var links = message.match(linkregex); var urls = message.match(urlregex); var misc = message.match(regex); message = message.replace(imgregex, "§"); message = message.replace(linkregex, "╗"); message = message.replace(urlregex, "▒"); message = message.replace(regex, "▓"); message = MakeSFX(message, false); var numImgs = (imgs === null) ? 0 : imgs.length; var numLink = (links === null) ? 0 : links.length; var numUrls = (urls === null) ? 0 : urls.length; var numMisc = (misc === null) ? 0 : misc.length; for (var u = 0; u < numImgs; u++) { message = message.replace(imgrest, imgs[u]); } for (var u = 0; u < numLink; u++) { message = message.replace(linkrest, links[u]); } for (var u = 0; u < numUrls; u++) { message = message.replace(urlrest, " <a href=\"" +urls[u]+ "\">" +urls[u]+ "</a> "); } for (var i = 0; i < numMisc; i++) { message = message.replace(tagrest, misc[i]); } iframe.contentWindow.document.getElementsByTagName('body')[0].innerHTML = message; } } var iframe2; if (document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_NoAutoComplete')[0]) { iframe2 = document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_NoAutoComplete')[0]; } else if (document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_')[0]) { iframe2 = document.getElementsByClassName('redactor_textCtrl redactor_MessageEditor redactor_BbCodeWysiwygEditor redactor_')[0]; } iframe2=iframe2.contentWindow.document.getElementsByTagName('body')[0]; //Rainbowfy Text if ($('input[value="Post Reply"]').length > 0) { var rainbowfyBtn = $(' <button class="button">Rainbowfy</button>'); $('input[value="Post Reply"]').after(rainbowfyBtn); rainbowfyBtn.click(function(e) { e.preventDefault(); rainbow(); }); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址