Хутшăнакан:Prince Kassad~cvwiki/monobook.js

Асӑрхани: Улшӑнусене курмашкӑн, тен, сирӗн хӑвӑрӑн браузерӑн кэшне тасатма тивӗ.

  • Firefox / Safari: Shift пускӑч ҫине пусса тӑрса, хатӗр-хӗтӗрсен панелӗ ҫинче Ҫӗнет ҫине пусӑр, е Ctrl+F5 (Ctrl+R / Mac ҫинче — ⌘+R) пусӑр.
  • Google Chrome: Ctrl+Shift+R пусӑр (Mac ҫинче ⌘+Shift+R)
  • Internet Explorer / Edge: Ctrl пусса тӑнӑ май Ҫӗнет ҫине пусӑр, е Ctrl+F5 пусӑр.
  • Opera: Ctrl+F5 пусӑр.
//JavaScript - Replace Latin w/ Cyrillic equivalents
//based on code by [[de:Benutzer:Fomafix]], licensed under
//the GFDL

var rangefont = [
[ "\u0102", "\u04d0"],
[ "\u0103", "\u04d1"],
[ "\u0114", "\u04d6"],
[ "\u0115", "\u04d7"],
[ "\u00c7", "\u04aa"],
[ "\u00e7", "\u04ab"],
];

function fixhtml(str)
{
        for (var i = 0 ; i < rangefont.length; i++) {
                var range = rangefont[i][0];
                var fontFamily = rangefont[i][1];
                var re = new RegExp('[' + range + ']+', 'gm');
                str = str.replace(re,fontFamily);
        }
        return str;
}

function traverse (node)
{
        for (var child = node.firstChild; child; child = child.nextSibling) {
                switch (child.nodeType) {
                case 1: // ELEMENT_NODE
                        switch (child.nodeName) {
                        // bei folgenden Elementen nicht absteigen und ersetzen.
                        case "APPLET":
                        case "BASE":
                        case "BR":
                        case "FRAME":
                        case "FRAMESET":
                        case "HR":
                        case "IFRAME":
                        case "IMG":
                        case "INPUT":
                        case "LINK":
                        case "OBJECT":
                        case "SCRIPT":
                        case "STYLE":
                        case "TEXTAREA":
                        case "TITLE":
                                break;
                        default:
                                traverse(child); // Rekursiv absteigen.
                                break;
                        }
                        break;
                case 3: // TEXT_NODE
                        var html = fixhtml(child.nodeValue); // ergaenze HTML-Code.
                        if (html == child.nodeValue) break; // es wurde nichts ersetzt. Fertig.
                        var span = document.createElement('span');
                        span.innerHTML = html; // Neuen HTML-Code unter ein span haengen.
                        var last = span.firstChild;
                        if (!last) break;
                        for (var next = last.nextSibling; next; next = next.nextSibling) {
                                node.insertBefore(last, child);
                                last = next;
                        }
                        node.replaceChild(last, child);
                        child = last;
                        break;
                }
        }
}


function fixunicode()
{
        traverse(document.getElementById('content'));
}

$(fixunicode);