مدیاویکی:Common.js

' 'قئید:' یازدیق‌دان سونرا دییشیک‌لیک‌لری گؤرمک اوچون براوزئرینیزین کئش یادداشیندا تمیزلمه‌نیز لازیم اولا بیلر.

  • 'فایرفاکس / سافاری:Shift دویمه‌سینه باسین "یئنی‌دن یوکله"-ا داخیل اولون یا دا Ctrl-F5 یا Ctrl-R ائدین (ماج اوچون ⌘-R).
  • 'گووگل کروم:'Ctrl+Shift+R باسین. (ماج اوچون ⌘-Shift-R)
  • 'اینترنت ایکسپئلور: کلید Ctrl باسین یئنی‌لئ 'یئ داخیل اولون یا دا Ctrl-F5 ائدین.
  • 'اوپئرا:' آلت‌لری → سئچیملر 'دن اؤنبئللیغی Tools → Preferences تمیزلیین.
/* global mw, $ */// Editing-related javascriptsif (mw.config.get("wgAction") === "edit" || mw.config.get("wgAction") === "submit" || mw.config.get("wgCanonicalSpecialPageName") === "Upload") {  /* scripts specific to editing pages */  importScript("مدیاویکی:Common.js/edit.js");}/** Magic editintros **************************************************** * *  Description: Adds editintros on disambiguation pages and BLP pages. *  Maintainers: [[User:RockMFR]] */function addEditIntro(name) {  $(".mw-editsection, #ca-edit").find("a").each(function(i, el) {    el.href = $(this).attr("href") + "&editintro=" + name;  });}if (mw.config.get("wgNamespaceNumber") === 0) {  $(function() {    if (document.getElementById("disambigbox")) {      addEditIntro("Template:Disambig_editintro");    }  });  $(function() {    var cats = mw.config.get("wgCategories");    if (!cats) {      return;    }    if ($.inArray("افراد زنده", cats) !== -1) {      addEditIntro("Template:BLP_editintro");    }  });}/** Collapsible tables ********************************************************* * *  Description: Allows tables to be collapsed, showing only the header. See *               [[Wikipedia:NavFrame]]. *  Maintainers: [[User:R. Koot]] */ var autoCollapse = 2;var collapseCaption = "گیزلت";var expandCaption = "گؤستر"; 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 = {};    var Tables = document.getElementsByTagName( 'table' );    var i;     function handleButtonLink( index, e ) {        window.collapseTable( index );        e.preventDefault();    }     for ( i = 0; i < Tables.length; i++ ) {        if ( $( Tables[i] ).hasClass( '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.className = 'collapseButton';  /* Styles are declared in Common.css */             ButtonLink.style.color = Header.style.color;            ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );            ButtonLink.setAttribute( 'href', '#' );            $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );            ButtonLink.appendChild( ButtonText );             Button.appendChild( document.createTextNode( '[' ) );            Button.appendChild( ButtonLink );            Button.appendChild( document.createTextNode( ']' ) );             Header.insertBefore( Button, Header.firstChild );            tableIndex++;        }    }     for ( i = 0;  i < tableIndex; i++ ) {        if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {            window.collapseTable( i );        }         else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {            var element = NavigationBoxes[i];            while ((element = element.parentNode)) {                if ( $( element ).hasClass( 'outercollapse' ) ) {                    window.collapseTable ( i );                    break;                }            }        }    }} $( createCollapseButtons );/** Dynamic Navigation Bars (experimental) ************************************* * *  Description: See [[Wikipedia:NavFrame]]. *  Maintainers: UNMAINTAINED */ // set up the words in your languagevar 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 toggledwindow.toggleNavigationBar = function ( indexNavigationBar, event ) {    var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );    var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );    var NavChild;     if ( !NavFrame || !NavToggle ) {        return false;    }     /* if shown now */    if ( NavToggle.firstChild.data === NavigationBarHide ) {        for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {            if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {                NavChild.style.display = 'none';            }        }    NavToggle.firstChild.data = NavigationBarShow;     /* if hidden now */    } else if ( NavToggle.firstChild.data === NavigationBarShow ) {        for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {            if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {                NavChild.style.display = 'block';            }        }        NavToggle.firstChild.data = NavigationBarHide;    }     event.preventDefault();}; /* adds show/hide-button to navigation bars */function createNavigationBarToggleButton() {    var indexNavigationBar = 0;    var NavFrame;    var NavChild;    /* iterate over all < div >-elements */    var divs = document.getElementsByTagName( 'div' );    for ( var i = 0; (NavFrame = divs[i]); i++ ) {        /* if found a navigation bar */        if ( $( NavFrame ).hasClass( 'NavFrame' ) ) {             indexNavigationBar++;            var NavToggle = document.createElement( 'a' );            NavToggle.className = 'NavToggle';            NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );            NavToggle.setAttribute( 'href', '#' );            $( NavToggle ).on( 'click', $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) );             var isCollapsed = $( NavFrame ).hasClass( 'collapsed' );            /**             * Check if any children are already hidden.  This loop is here for backwards compatibility:             * the old way of making NavFrames start out collapsed was to manually add style="display:none"             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make             * the content visible without JavaScript support), the new recommended way is to add the class             * "collapsed" to the NavFrame itself, just like with collapsible tables.             */            for ( NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling ) {                if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {                    if ( NavChild.style.display === 'none' ) {                        isCollapsed = true;                    }                }            }            if ( isCollapsed ) {                for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {                    if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) {                        NavChild.style.display = 'none';                    }                }            }            var NavToggleText = document.createTextNode( isCollapsed ? NavigationBarShow : NavigationBarHide );            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 ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {                    NavToggle.style.color = NavFrame.childNodes[j].style.color;                    NavFrame.childNodes[j].appendChild( NavToggle );                }            }            NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );        }    }} $( createNavigationBarToggleButton );