Потребител:Cameltrader/cyrillic.js
от Уикипедия, свободната енциклопедия
Бележка: След съхранението е необходимо да изтриете кеша на браузъра, за да видите промените: Mozilla / Firefox / Safari: натиснете бутона Shift и щракнете върху Презареждане (Reload), или изберете клавишната комбинация Ctrl-Shift-R (Cmd-Shift-R за Apple Mac); IE: натиснете Ctrl и щракнете върху Refresh, или клавишната комбинация CTRL-F5; Konqueror: щракнете върху Презареждане или натиснете F5; Opera: вероятно е необходимо да изчистите кеша през менюто Tools→Preferences.
// <nowiki> addOnloadHook(function () { // Precompute utf-8-to-codepoint conversion table var cyr = {}; for (var ch = 0x0400; ch <= 0x052f; ch++) { var chUtf8 = new Number( ((ch << 2) & 0x1f00) + (ch & 0x3f) + 0xc080 ).toString(16); var chPercent = "%" + chUtf8.substring(0, 2) + "%" + chUtf8.substring(2); cyr[chPercent] = cyr[chPercent.toUpperCase()] = String.fromCharCode(ch); } // Fix anchors for (var i = 0; i < document.links.length; i++) { var href = document.links[i].href; var re = /%(D[01])%([0-9a-fA-F]{2})/gi; while (true) { re.lastIndex = 0; var m = re.exec(href); if (m == null) { break; } href = href.substring(0, m.index) + cyr[m[0]] + href.substring(m.index + m[0].length); } document.links[i].href = href.replace("%28", "(").replace("%29", ")"); // might harm some exotic %-escaped character, but that is unlikely to occur in Bulgarian-language text } }); // </nowiki>