// ==UserScript== // @name NGA Character Code Converter // @namespace none // @version 0.0.1 // @description NGA 字符转码:发表、回复、编辑时,在提交前自动将部分原本直接提交无法正常显示的字符进行转码,使之提交后可以正常显示;编辑时将代码转回字符,方便编辑。 // @author AgLandy // @include /^https?://(bbs\.ngacn\.cc|nga\.178\.com|bbs\.nga\.cn)/.+/ // @grant none // @downloadURL none // ==/UserScript== function addScript(s){ var newScript = document.createElement("script"); newScript.setAttribute("type", "text/javascript"); newScript.appendChild(document.createTextNode(s)); document.getElementsByTagName("head")[0].appendChild(newScript); } function u2a(){ var t = document.getElementsByTagName("TEXTAREA")[0].value; if(t){ var r = /&#(\d+);/; while(r.test(t)) t = t.replace(r, String.fromCharCode(RegExp.$1)); document.getElementsByTagName("TEXTAREA")[0].value = t; } } function codeC(){ if(document.getElementsByTagName("TEXTAREA").length){ u2a(); var sc = "function nCCC(e){\ var t = document.getElementsByTagName('TEXTAREA')[0].value;\ if(t){\ if(e.button == 2){\ var r = /&#(\\d+);/;\ while(r.test(t))\ t = t.replace(r, String.fromCharCode(RegExp.$1));\ }\ else{\ var r = /([\\u00a0-\\u02ff\\u2010-\\u203e\\u2105\\u2109\\u2116\\u2121\\u2160-\\u217f\\u2190-\\u2199\\u2200-\\u22ff\\u2312\\u2460-\\u249b\\u2500-\\u2642\\u3000-\\u3029\\u30f4-\\u30f6\\u3100-\\u312f\\u3190-\\u319f\\u3220-\\u3243\\u3280-\\u32b0\\u338e-\\u33d5\\ufe30-\\ufe6f\\uff02-\\uff5d\\uffe2-\\uffe4])/;\ while(r.test(t))\ t = t.replace(r, '&#' + RegExp.$1.charCodeAt() + ';');\ }\ document.getElementsByTagName('TEXTAREA')[0].value = t;\ }\ }"; addScript(sc); var b = document.getElementsByClassName(" uitxt1"); b[b.length - 1].setAttribute('onmousedown','nCCC(event)'); } } addEventListener ('DOMContentLoaded', codeC(), false);