הבדלים בין גרסאות בדף "מדיה ויקי:Common.js"

מתוך Math-Wiki
קפיצה אל: ניווט, חיפוש
מ
שורה 3: שורה 3:
 
window.addEventListener('load', function () {
 
window.addEventListener('load', function () {
 
     // fixes a bug that doesn't allow registered users to edit pages normally
 
     // fixes a bug that doesn't allow registered users to edit pages normally
     for each (var a in document.getElementsByTagName('a'))
+
     var as = document.getElementsByTagName('a'),
 +
        len = as.length,
 +
        a;
 +
    for (var i = 0; i < len; i++) {
 +
        a = as[i];
 
         if (a.href && a.href.indexOf('&action=edit') != -1 && a.href.indexOf('&internaledit=true') == -1)
 
         if (a.href && a.href.indexOf('&action=edit') != -1 && a.href.indexOf('&internaledit=true') == -1)
 
             a.href += '&internaledit=true';
 
             a.href += '&internaledit=true';
 
    if (!document.getElementsByClassName)
 
        return;
 
 
    // improves the display of printable pages
 
    if (document.URL.indexOf('&printable=yes') != -1) {
 
        var e1 = document.getElementById('content').nextSibling,
 
            e2 = document.getElementById('bodyContent');
 
        e2.removeChild(document.getElementsByClassName('printfooter')[0]);
 
        for each (var id in ['siteSub', 'contentSub', 'catlinks'])
 
            e2.removeChild(document.getElementById(id));
 
        while (e1) {
 
            e2 = e1.nextSibling;
 
            document.body.removeChild(e1);
 
            e1 = e2;
 
        }
 
 
     }
 
     }
  
 
     // improves display of formulas: if a formula is preceded or followed by characters (such as punctuation marks),
 
     // improves display of formulas: if a formula is preceded or followed by characters (such as punctuation marks),
 
     // there won't be any line breaks between the formula and the character.
 
     // there won't be any line breaks between the formula and the character.
     var e1, is1, e2, is2, con, par, texs = document.getElementsByClassName('tex');
+
     var e1, is1, e2, is2, con, par, texs = document.getElementsByClassName('tex'), tex;
     for each (var tex in texs) {
+
    len = texs.length;
 +
     for (var i = 0; i < len; i++) {
 +
        tex = texs[i];
 
         e1 = tex.previousSibling;
 
         e1 = tex.previousSibling;
 
         is1 = Boolean(e1 && e1.nodeType == 3 && /\S$/.test(e1.data));
 
         is1 = Boolean(e1 && e1.nodeType == 3 && /\S$/.test(e1.data));
שורה 46: שורה 36:
 
         par.insertBefore(con, e1 ? e1.nextSibling : par.firstChild);
 
         par.insertBefore(con, e1 ? e1.nextSibling : par.firstChild);
 
     }
 
     }
 +
 +
    if (!document.getElementsByClassName)
 +
        return;
 +
    // improves the display of printable pages
 +
    if (document.URL.indexOf('&printable=yes') != -1) {
 +
        var e1 = document.getElementById('content').nextSibling,
 +
            e2 = document.getElementById('bodyContent');
 +
        e2.removeChild(document.getElementsByClassName('printfooter')[0]);
 +
        var id;
 +
        for (var i = 0; i < 3; i++) {
 +
            id = ['siteSub', 'contentSub', 'catlinks'][i];
 +
            e2.removeChild(document.getElementById(id));
 +
        }
 +
        while (e1) {
 +
            e2 = e1.nextSibling;
 +
            document.body.removeChild(e1);
 +
            e1 = e2;
 +
        }
 +
    }
 +
 
}, false);
 
}, false);

גרסה מ־14:48, 17 באוקטובר 2012

/* כל סקריפט JavaScript שנכתב כאן ירוץ עבור כל המשתמשים בכל טעינת עמוד */

window.addEventListener('load', function () {
    // fixes a bug that doesn't allow registered users to edit pages normally
    var as = document.getElementsByTagName('a'),
        len = as.length,
        a;
    for (var i = 0; i < len; i++) {
        a = as[i];
        if (a.href && a.href.indexOf('&action=edit') != -1 && a.href.indexOf('&internaledit=true') == -1)
            a.href += '&internaledit=true';
    }

    // improves display of formulas: if a formula is preceded or followed by characters (such as punctuation marks),
    // there won't be any line breaks between the formula and the character.
    var e1, is1, e2, is2, con, par, texs = document.getElementsByClassName('tex'), tex;
    len = texs.length;
    for (var i = 0; i < len; i++) {
        tex = texs[i];
        e1 = tex.previousSibling;
        is1 = Boolean(e1 && e1.nodeType == 3 && /\S$/.test(e1.data));
        e2 = tex.nextSibling;
        is2 = Boolean(e2 && e2.nodeType == 3 && /^\S/.test(e2.data));
        if (!is1 && !is2)
            continue;
        con = document.createElement('span');
        con.style.display = 'inline-block';
        if (is1)
            con.appendChild(e1.splitText(e1.data.search(/\S+$/)));
        if (is2) {
            e2 = e2.splitText(e2.data.search(/\s|$/)).previousSibling;
            con.appendChild(e2);
        }
        par = tex.parentNode;
        con.insertBefore(tex, is2 ? e2 : null);
        par.insertBefore(con, e1 ? e1.nextSibling : par.firstChild);
    }

    if (!document.getElementsByClassName)
        return;
    // improves the display of printable pages
    if (document.URL.indexOf('&printable=yes') != -1) {
        var e1 = document.getElementById('content').nextSibling,
            e2 = document.getElementById('bodyContent');
        e2.removeChild(document.getElementsByClassName('printfooter')[0]);
        var id;
        for (var i = 0; i < 3; i++) {
            id = ['siteSub', 'contentSub', 'catlinks'][i];
            e2.removeChild(document.getElementById(id));
        }
        while (e1) {
            e2 = e1.nextSibling;
            document.body.removeChild(e1);
            e1 = e2;
        }
    }

}, false);