Lưu ý: Đây chưa phải phiên bản chính thức.

Từ điển nhân khẩu học đa ngữ, bản in lần thứ hai

MediaWiki:Common.js

Từ Demopædia
Phiên bản vào lúc 19:29, ngày 30 tháng 8 năm 2012 của Nicolas Brouard (Thảo luận | đóng góp) (1 phiên bản: Importing TextTermJavaTemplate from fr-ii)
Bước tới: chuyển hướng, tìm kiếm

Chú ý: Sau khi lưu trang, có thể bạn sẽ phải xóa bộ nhớ đệm của trình duyệt để xem các thay đổi.

  • Firefox / Safari: Nhấn giữ phím Shift trong khi nhấn Tải lại (Reload), hoặc nhấn tổ hợp Ctrl-F5 hay Ctrl-R (⌘R trên Mac)
  • Google Chrome: Nhấn tổ hợp Ctrl-Shift-R (⇧⌘R trên Mac)
  • Internet Explorer: Nhấn giữ phím Ctrl trong khi nhấn Làm tươi, hoặc nhấn tổ hợp Ctrl-F5
  • Opera: Mở Menu → Cài đặt (Opera → Tùy chỉnh trên Mac), mở tab Quyền riêng tư & bảo mật, bấm Xóa dữ liệu duyệt web và đánh hộp kiểm Hình ảnh và tệp trong cache.
/*'''Mediawiki:Common.js'''*/
/* Zde uvedený JavaScript bude použit pro všechny uživatele při načtení každé stránky.  */
/* N'importe quel JavaScript ici sera chargé pour n'importe quel utilisateur et pour chaque page accédée.

ATTENTION : Avant de modifier cette page, veuillez tester vos changements avec votre propre
monobook.js. Une erreur sur cette page peut faire bugger le site entier (et gêner l'ensemble des
visiteurs), même plusieurs heures après la modification !

NE PAS RETIRER CECI SINON : remplacement des signature, substitution des modèles, ... : <nowiki>

/*************************************************************/
/* Fonctions javascript : pallient les limites de javascript */
/* Surveiller : http://www.ecmascript.org/                   */
/*************************************************************/

/* Test if an element has a certain class **************************************
 *
 * Description: Uses regular expressions and caching for better performance.
 * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
 */

var hasClass = (function () {
    var reCache = {};
    return function (element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
})();




/** Collapsible tables *********************************************************
 * From http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=219789618
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]]
 */
 
var autoCollapse = 2;
// Translations come from rev-delundel of Mediawiki 15 
// ar */  var collapseCaption = "▲ إخفاء"; // ar 
// ar */  var expandCaption = "▼ عرض"; // ar 
// cs */  var collapseCaption = "▲ Skrýt překlady"; // cs 
// cs */  var expandCaption = "▼ Zobrazit překlady"; // cs 
// de */  var collapseCaption = "▲ verstecke"; // de 
// de */  var expandCaption = "▼ zeige"; // de 
en */  var collapseCaption = "▲ hide"; // en 
en */  var expandCaption = "▼ show"; // en 
// es */  var collapseCaption = "▲ occultar"; // es 
// es */  var expandCaption = "▼ mostrar"; // es 
// et */  var collapseCaption = "▲ peida"; // et 
// et */  var expandCaption = "▼ näita"; // et 
// fi */  var collapseCaption = "▲ piilota"; // fi 
// fi */  var expandCaption = "▼ näytä"; // fi 
// fr */  var collapseCaption = "▲ masquer"; // fr 
// fr */  var expandCaption = "▼ afficher"; // fr 
// id */  var collapseCaption = "▲ nascondi"; // it 
// id */  var expandCaption = "▼ mostra"; // it 
// it */  var collapseCaption = "▲ nascondi"; // it 
// it */  var expandCaption = "▼ mostra"; // it 
// ja */  var collapseCaption = "▲ 秘匿"; // ja 
// ja */  var expandCaption = "▼ 表示"; // ja 
// ko */  var collapseCaption = "▲ verbergen"; // nl 
// ko */  var expandCaption = "▼ weergeven"; // nl 
// ms */  var collapseCaption = "▲ göm"; // sv 
// ms */  var expandCaption = "▼ visa"; // sv 
// ne */  var collapseCaption = "▲ göm"; // sv 
// ne */  var expandCaption = "▼ visa"; // sv 
// nl */  var collapseCaption = "▲ verbergen"; // nl 
// nl */  var expandCaption = "▼ weergeven"; // nl 
// pl */  var collapseCaption = "▲ ukryj"; // pl 
// pl */  var expandCaption = "▼ pokaż"; // pl 
// pt */  var collapseCaption = "▲ esconder"; // pt 
// pt */  var expandCaption = "▼ mostrar"; // pt 
// ru */  var collapseCaption = "▲ скрыть"; // ru 
// ru */  var expandCaption = "▼ показать"; // ru 
// sh */  var collapseCaption = "▲ skrij"; // sh 
// sh */  var expandCaption = "▼ pokaži"; // sh 
// sv */  var collapseCaption = "▲ göm"; // sv 
// sv */  var expandCaption = "▼ visa"; // sv 
// th */  var collapseCaption = "▲ göm"; // sv 
// th */  var expandCaption = "▼ visa"; // sv 
// vi */  var collapseCaption = "▲ göm"; // sv 
// vi */  var expandCaption = "▼ visa"; // sv 
// zh */  var collapseCaption = "▲ 隱藏"; // zh 
// zh */  var expandCaption = "▼ 顯示"; // zh 
// end 
function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
    if ( !Table || !Button ) {
        return false;
    }
 
    var Rows = Table.rows;
 
    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}
 
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
 
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {
 
            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;
 
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );
 
            Button.style.styleFloat = "right";
            Button.style.cssFloat = "right";
            Button.style.fontWeight = "normal";
            Button.style.textAlign = "right";
            Button.style.width = "6em";
 
            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );
 
            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
 
            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }
 
    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        }
    }
}
 
addOnloadHook( createCollapseButtons );


/** Dynamic Navigation Bars (experimental) *************************************
 *
 *  Description: See [[Wikipedia:NavFrame]].
 *  Maintainers: UNMAINTAINED
 */

// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';

// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

    if (!NavFrame || !NavToggle) {
        return false;
    }

    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if ( hasClass( NavChild, 'NavPic' ) ) {
                NavChild.style.display = 'none';
            }
            if ( hasClass( NavChild, 'NavContent') ) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;

    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'block';
            }
        }
        NavToggle.firstChild.data = NavigationBarHide;
    }
}

// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
    var indexNavigationBar = 0;
    // iterate over all < div >-elements 
    var divs = document.getElementsByTagName("div");
    for (var i = 0; NavFrame = divs[i]; i++) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {

            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');

            var NavToggleText = document.createTextNode(NavigationBarHide);
            for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                    if (NavChild.style.display == 'none') {
                        NavToggleText = document.createTextNode(NavigationBarShow);
                        break;
                    }
                }
            }

            NavToggle.appendChild(NavToggleText);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(var j=0; j < NavFrame.childNodes.length; j++) {
                if (hasClass(NavFrame.childNodes[j], "NavHead")) {
                    NavFrame.childNodes[j].appendChild(NavToggle);
                }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
}

addOnloadHook( createNavigationBarToggleButton );