|
|
𣳔1: |
𣳔1: |
| /** | | /* |
| * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally
| | 所有用戶在加載任何頁面時,這裡的JavaScript都會加載 |
| * loaded for all users on every wiki page. If possible create a gadget that is
| | */ |
| * enabled by default instead of adding it here (since gadgets are fully
| |
| * optimized ResourceLoader modules with possibility to add dependencies etc.)
| |
| *
| |
| * Since Common.js isn't a gadget, there is no place to declare its
| |
| * dependencies, so we have to lazy load them with mw.loader.using on demand and
| |
| * then execute the rest in the callback. In most cases these dependencies will
| |
| * be loaded (or loading) already and the callback will not be delayed. In case a
| |
| * dependency hasn't arrived yet it'll make sure those are loaded before this.
| |
| */
| |
| /*global mw, $, importStylesheet, importScript */
| |
| /*jshint curly:false eqnull:true, strict:false, browser:true, */
| |
|
| |
|
| mw.loader.using( ['mediawiki.util', 'mediawiki.notify', 'jquery.client'], function () { | | mw.log.deprecate( window, 'JSConfig', {} ); |
| /* Begin of mw.loader.using callback */
| |
|
| |
|
| /**
| | mw.loader.using(['mediawiki.util', 'ext.gadget.site-lib'], function () { |
| * Main Page layout fixes
| | (function ($, mw) { |
| *
| |
| * Description: Adds an additional link to the complete list of languages available.
| |
| * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
| |
| */
| |
| if ( mw.config.get( 'wgPageName' ) === 'Main_Page' || mw.config.get( 'wgPageName' ) === 'Talk:Main_Page' ) {
| |
| $( document ).ready( function () {
| |
| mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/List_of_Wikipedias',
| |
| 'Complete list', 'interwiki-completelist', 'Complete list of Wikipedias' );
| |
| } );
| |
| }
| |
|
| |
|
| /** | | /* 當需要時載入對應的 scripts */ |
| * Redirect User:Name/skin.js and skin.css to the current skin's pages
| | if (wgAction == "edit" || wgAction == "submit" || wgCanonicalSpecialPageName == 'Search') { // scripts specific to editing pages |
| * (unless the 'skin' page really exists)
| | importScript('MediaWiki:Common.js/edit.js'); |
| * @source: http://www.mediawiki.org/wiki/Snippets/Redirect_skin.js
| |
| * @rev: 2
| |
| */
| |
| if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) { | |
| var titleParts = mw.config.get( 'wgPageName' ).split( '/' );
| |
| /* Make sure there was a part before and after the slash
| |
| and that the latter is 'skin.js' or 'skin.css' */
| |
| if ( titleParts.length == 2 ) {
| |
| var userSkinPage = titleParts.shift() + '/' + mw.config.get( 'skin' );
| |
| if ( titleParts.slice( -1 ) == 'skin.js' ) {
| |
| window.location.href = mw.util.wikiGetlink( userSkinPage + '.js' );
| |
| } else if ( titleParts.slice( -1 ) == 'skin.css' ) {
| |
| window.location.href = mw.util.wikiGetlink( userSkinPage + '.css' );
| |
| }
| |
| } | | } |
| }
| |
|
| |
|
| /** | | // wiki URL |
| * Map addPortletLink to mw.util
| | window.wgProjectURL = { |
| *
| | en: '//en.wikipedia.org', |
| * @deprecated: Use mw.util.addPortletLink instead.
| | de: '//de.wikipedia.org', |
| */
| | fr: '//fr.wikipedia.org', |
| mw.log.deprecate( window, 'addPortletLink', function () {
| | pl: '//pl.wikipedia.org', |
| return mw.util.addPortletLink.apply( mw.util, arguments );
| | ja: '//ja.wikipedia.org', |
| }, 'Use mw.util.addPortletLink() instead' );
| | it: '//it.wikipedia.org', |
| | nl: '//nl.wikipedia.org', |
| | pt: '//pt.wikipedia.org', |
| | es: '//es.wikipedia.org', |
| | sv: '//sv.wikipedia.org', |
| | // 僅列前十名其它語言百科 |
| | m: '//meta.wikimedia.org', |
| | b: '//zh.wikibooks.org', |
| | q: '//zh.wikiquote.org', |
| | n: '//zh.wikinews.org', |
| | wikt: '//zh.wiktionary.org', |
| | mw: '//www.mediawiki.org', |
| | commons: '//commons.wikimedia.org' |
| | }; |
|
| |
|
| /** | | /** 将页面名称转换为URL |
| * Extract a URL parameter from the current URL
| | * |
| *
| | * @param page 页面名称 |
| * @deprecated: Use mw.util.getParamValue with proper escaping
| | * @param paras 附加后缀对象,用空对象{}做参数可以取得源码 |
| */
| | */ |
| mw.log.deprecate( window, 'getURLParamValue', function () {
| | window.getWikiPath = function (page, paras) { |
| return mw.util.getParamValue.apply( mw.util, arguments );
| | var reg = /^[a-z]+:/; |
| }, 'Use mw.util.getParamValue() instead' ); | | var pre = page.match(reg); |
| | pre = pre && wgProjectURL[pre[0].replace(/:$/, '').toLowerCase()]; |
| | if (pre) { |
| | page = page.replace(reg, ''); |
| | } else { |
| | pre = wgServer; |
| | } // 保障没有相对路径,以照顾在线代理。 |
| | var url = pre + wgScript + '?title=' + encodeURI(page.replace(' ', '_')); |
| | if (typeof paras == 'object') { |
| | paras.ctype = paras.ctype || 'text'; |
| | paras.dontcountme = paras.dontcountme || 's'; |
| | paras.action = paras.action || 'raw'; |
| | for (var k in paras) { |
| | url += '&' + k + '=' + paras[k]; |
| | } |
| | } |
| | return url; |
| | }; |
|
| |
|
| /** | | /** |
| * Test if an element has a certain class
| | * Load scripts specific to Internet Explorer |
| *
| | */ |
| * @deprecated: Use $(element).hasClass() instead.
| | if ( $.client.profile().name === 'msie' ) { |
| */
| | importScript( 'MediaWiki:Common.js/IEFixes.js' ); |
| mw.log.deprecate( window, 'hasClass', function ( element, className ) {
| | } |
| return $( element ).hasClass( className );
| |
| }, 'Use jQuery.hasClass() instead' ); | |
|
| |
|
| /**
| | /* Fixes for Windows XP font rendering */ |
| * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
| | if (navigator.appVersion.search(/windows nt 5/i) != -1) { |
| * @rev 5
| | mw.util.addCSS('.IPA {font-family: "Lucida Sans Unicode", "Arial Unicode MS";} ' + |
| */
| | '.Unicode {font-family: "Arial Unicode MS", "Lucida Sans Unicode";}'); |
| // CSS
| | } |
| var extraCSS = mw.util.getParamValue( 'withCSS' );
| | |
| if ( extraCSS ) {
| | /* 特色條目優良與條目鏈接顯示 */ |
| if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
| | /** |
| importStylesheet( extraCSS );
| |
| } else {
| |
| mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
| |
| }
| |
| }
| |
| | |
| // JS
| |
| var extraJS = mw.util.getParamValue( 'withJS' );
| |
| if ( extraJS ) {
| |
| if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
| |
| importScript( extraJS );
| |
| } else {
| |
| mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
| |
| }
| |
| }
| |
| | |
| /**
| |
| * Import more specific scripts if necessary
| |
| */
| |
| if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' || mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
| |
| /* scripts specific to editing pages */
| |
| importScript( 'MediaWiki:Common.js/edit.js' );
| |
| } else if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' ) {
| |
| /* watchlist scripts */
| |
| importScript( 'MediaWiki:Common.js/watchlist.js' );
| |
| }
| |
| if ( mw.config.get( 'wgNamespaceNumber' ) === 6 ) {
| |
| /* file description page scripts */ | |
| importScript( 'MediaWiki:Common.js/file.js' );
| |
| }
| |
| | |
| /**
| |
| * Load scripts specific to Internet Explorer
| |
| */
| |
| if ( $.client.profile().name === 'msie' ) {
| |
| importScript( 'MediaWiki:Common.js/IEFixes.js' );
| |
| }
| |
| | |
| /**
| |
| * Fix for Windows XP Unicode font rendering
| |
| */
| |
| if ( navigator.appVersion.search(/windows nt 5/i) !== -1 ) { | |
| mw.util.addCSS( '.IPA { font-family: "Lucida Sans Unicode", "Arial Unicode MS"; } ' +
| |
| '.Unicode { font-family: "Arial Unicode MS", "Lucida Sans Unicode"; } ' );
| |
| } | |
| | |
| /** | |
| * WikiMiniAtlas | |
| *
| |
| * Description: WikiMiniAtlas is a popup click and drag world map.
| |
| * This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
| |
| * The script itself is located on meta because it is used by many projects.
| |
| * See [[Meta:WikiMiniAtlas]] for more information.
| |
| * Maintainers: [[User:Dschwen]]
| |
| */
| |
| ( function () {
| |
| var require_wikiminiatlas = false;
| |
| var coord_filter = /geohack/;
| |
| $( document ).ready( function() {
| |
| $( 'a.external.text' ).each( function( key, link ) {
| |
| if ( link.href && coord_filter.exec( link.href ) ) {
| |
| require_wikiminiatlas = true;
| |
| // break from loop
| |
| return false;
| |
| }
| |
| } );
| |
| if ( $( 'div.kmldata' ).length ) {
| |
| require_wikiminiatlas = true;
| |
| }
| |
| if ( require_wikiminiatlas ) {
| |
| mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
| |
| }
| |
| } );
| |
| } )();
| |
| | |
| /** | |
| * Interwiki links to featured articles *************************************** | | * Interwiki links to featured articles *************************************** |
| * | | * |
𣳔166: |
𣳔81: |
| * equivalents) by changing the bullet before the interwiki link | | * equivalents) by changing the bullet before the interwiki link |
| * into a star. | | * into a star. |
| * Maintainers: [[User:R. Koot]] | | * Maintainers: [[:en:User:R. Koot]] |
| */ | | */ |
| function LinkFA() { | | function LinkFA() { |
| if ( document.getElementById( 'p-lang' ) ) { | | if ( document.getElementById( 'p-lang' ) ) { |
| var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' ); | | var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' ); |
| | | |
| for ( var i = 0; i < InterwikiLinks.length; i++ ) { | | for ( var i = 0; i < InterwikiLinks.length; i++ ) { |
| if ( document.getElementById( InterwikiLinks[i].className + '-fa' ) ) { | | var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/); |
| | if ( document.getElementById( className + '-fa' ) ) { |
| InterwikiLinks[i].className += ' FA'; | | InterwikiLinks[i].className += ' FA'; |
| InterwikiLinks[i].title = 'This is a featured article in this language.'; | | InterwikiLinks[i].title = wgULS("此条目在此语言版本中为特色条目", "此條目在此語言版本中為特色條目"); |
| } else if ( document.getElementById( InterwikiLinks[i].className + '-ga' ) ) { | | } else if ( document.getElementById( className + '-ga' ) ) { |
| InterwikiLinks[i].className += ' GA'; | | InterwikiLinks[i].className += ' GA'; |
| InterwikiLinks[i].title = 'This is a good article in this language.'; | | InterwikiLinks[i].title = wgULS("此条目在此语言版本中为优良条目", "此條目在此語言版本中為優良條目"); |
| } | | } |
| } | | } |
| } | | } |
| } | | } |
| | | |
| mw.hook( 'wikipage.content' ).add( LinkFA ); | | mw.hook( 'wikipage.content' ).add( LinkFA ); |
|
| |
|
| /**
| |
| * Collapsible tables *********************************************************
| |
| *
| |
| * Description: Allows tables to be collapsed, showing only the header. See
| |
| * [[Wikipedia:NavFrame]].
| |
| * Maintainers: [[User:R. Koot]]
| |
| */
| |
|
| |
| var autoCollapse = 2;
| |
| var collapseCaption = 'hide';
| |
| var expandCaption = 'show';
| |
|
| |
| window.collapseTable = function ( tableIndex ) {
| |
| var Button = document.getElementById( 'collapseButton' + tableIndex );
| |
| var Table = document.getElementById( 'collapsibleTable' + tableIndex );
| |
|
| |
| if ( !Table || !Button ) {
| |
| return false;
| |
| }
| |
|
| |
|
| var Rows = Table.rows; | | // 修正摺疊後定位變化 |
| var i; | | hookEvent("load", function () { |
| | if (location.hash) { |
| | location.href = location.hash; |
| | } |
| | }); |
|
| |
|
| if ( Button.firstChild.data === collapseCaption ) { | | /** metaBox |
| for ( i = 1; i < Rows.length; i++ ) { | | * |
| Rows[i].style.display = 'none';
| | * Funcionament de la Plantilla:Metacaixa |
| | * Implementat per: Usuari:Peleguer. |
| | * Actualitzat per Joanjoc seguint les indicacions d'en Martorell |
| | */ |
| | function MetaCaixaInit() { |
| | // S'executa al carregar-se la pàgina, si hi ha metacaixes, |
| | // s'assignen els esdeveniments als botons |
| | //alert("MetaCaixaInit"); |
| | var i = 0 // Inicialitzem comptador de caixes |
| | for (i = 0; i <= 9; i++) { |
| | var vMc = document.getElementById("mc" + i); |
| | if (!vMc) break; |
| | //alert("MetaCaixaInit, trobada Metacaixa mc"+i); |
| | var j = 1 // Inicialitzem comptador de botons dins de la caixa |
| | var vPsIni = 0 // Pestanya visible inicial |
| | for (j = 1; j <= 9; j++) { |
| | var vBt = document.getElementById("mc" + i + "bt" + j); |
| | if (!vBt) break; |
| | //alert("MetaCaixaInit, trobat botó mc"+i+"bt"+j); |
| | vBt.onclick = MetaCaixaMostraPestanya; // A cada botó assignem l'esdeveniment onclick |
| | //alert (vBt.className); |
| | if (vBt.className == "mcBotoSel") vPsIni = j; // Si tenim un botó seleccionat, en guardem l'index |
| } | | } |
| Button.firstChild.data = expandCaption; | | //alert ("mc="+i+", ps="+j+", psini="+vPsIni ); |
| } else {
| | if (vPsIni == 0) { // Si no tenim cap botó seleccionat, n'agafem un aleatòriament |
| for ( i = 1; i < Rows.length; i++ ) {
| | vPsIni = 1 + Math.floor((j - 1) * Math.random()); |
| Rows[i].style.display = Rows[0].style.display;
| | //alert ("Activant Pestanya a l'atzar; _mc"+i+"bt"+vPsIni +"_"); |
| | document.getElementById("mc" + i + "ps" + vPsIni).style.display = "block"; |
| | document.getElementById("mc" + i + "ps" + vPsIni).style.visibility = "visible"; |
| | document.getElementById("mc" + i + "bt" + vPsIni).className = "mcBotoSel"; |
| } | | } |
| Button.firstChild.data = collapseCaption;
| | } |
| } | | } |
| };
| |
|
| |
|
| function createCollapseButtons() { | | function MetaCaixaMostraPestanya() { |
| var tableIndex = 0;
| | // S'executa al clicar una pestanya, |
| var NavigationBoxes = {};
| | // aquella es fa visible i les altres s'oculten |
| var Tables = document.getElementsByTagName( 'table' );
| | var vMcNom = this.id.substr(0, 3); // A partir del nom del botó, deduïm el nom de la caixa |
| var i;
| | var vIndex = this.id.substr(5, 1); // I l'index |
| | | var i = 1 |
| function handleButtonLink( index, e ) {
| | for (i = 1; i <= 9; i++) { // busquem totes les pestanyes d'aquella caixa |
| window.collapseTable( index );
| | //alert(vMcNom+"ps"+i); |
| e.preventDefault(); | | var vPsElem = document.getElementById(vMcNom + "ps" + i); |
| | if (!vPsElem) break; |
| | if (vIndex == i) { // Si és la pestanya bona la mostrem i canviem la classe de botó |
| | vPsElem.style.display = "block"; |
| | vPsElem.style.visibility = "visible"; |
| | document.getElementById(vMcNom + "bt" + i).className = "mcBotoSel"; |
| | } else { // Sinó, l'ocultem i canviem la classe de botó |
| | vPsElem.style.display = "none"; |
| | vPsElem.style.visibility = "hidden"; |
| | document.getElementById(vMcNom + "bt" + i).className = "mcBoto"; |
| | } |
| | } |
| | return false; // evitem la recàrrega de la pàgina |
| } | | } |
| | addOnloadHook(MetaCaixaInit); |
|
| |
|
| for ( i = 0; i < Tables.length; i++ ) { | | /* 智能讨论页编辑(新建) */ |
| if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
| | $(function () { |
| | | var catalk = $('#ca-talk'); |
| /* only add button and increment count if there is a header row to work with */
| | if (catalk.hasClass('new') && wgNamespaceNumber != 2) { |
| var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
| | var a = $('a:first', catalk); |
| if ( !HeaderRow ) continue;
| | a.attr('href', a.attr('href') + '§ion=new'); |
| 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 */
| | /** Magic editintros |
| | * |
| | * Description: Adds editintros on disambiguation pages and BLP pages. |
| | * Maintainers: [[:en:User:RockMFR]], [[User:PhiLiP]] |
| | */ |
| | var addEditIntro = function (name) { |
| | $('#ca-edit, .editsection').each(function () { |
| | $('a', this).attr('href', |
| | $('a', this).attr('href') + '&editintro=' + mw.util.wikiUrlencode(name)); |
| | }); |
| | }; |
|
| |
|
| ButtonLink.style.color = Header.style.color;
| | if (wgNamespaceNumber == 0) { |
| ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
| | $(function () { |
| ButtonLink.setAttribute( 'href', '#' );
| | var uei = $('#useeditintro, .useeditintro'); |
| $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
| | if (uei.length) { |
| ButtonLink.appendChild( ButtonText );
| | addEditIntro(uei.eq(-1).attr('title')); |
| | | uei.attr('title', ''); |
| Button.appendChild( document.createTextNode( '[' ) );
| |
| Button.appendChild( ButtonLink );
| |
| Button.appendChild( document.createTextNode( ']' ) );
| |
| | |
| Header.insertBefore( Button, Header.firstChild );
| |
| tableIndex++;
| |
| } | | } |
| | }); |
| } | | } |
|
| |
|
| for ( i = 0; i < tableIndex; i++ ) { | | /* Top icon: [[Template:Topicon]] */ |
| if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {
| | $(function () { |
| window.collapseTable( i );
| | // what's the problem on modern? |
| } | | $('<div />').css('float', 'right').append($('.topicon').css({ |
| else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) { | | 'float': 'right', |
| var element = NavigationBoxes[i];
| | 'position': 'static' |
| while ((element = element.parentNode)) {
| | }).show()).insertBefore('#firstHeading span[dir=auto]'); |
| if ( $( element ).hasClass( 'outercollapse' ) ) {
| | }); |
| window.collapseTable ( i );
| |
| break;
| |
| }
| |
| }
| |
| }
| |
| } | |
| }
| |
| | |
| mw.hook( 'wikipage.content' ).add( createCollapseButtons );
| |
|
| |
|
| /** | | /* 引用錯誤標籤名字解碼 */ |
| * Dynamic Navigation Bars (experimental)
| | $(function () { |
| *
| | $('.anchordecodeme').each(function () { |
| * Description: See [[Wikipedia:NavFrame]].
| | $(this).text(decodeURIComponent($(this).text().replace(/\.([0-9A-F]{2})/g, '%$1'))); |
| * Maintainers: UNMAINTAINED
| | }); |
| */
| | }); |
|
| |
|
| /* set up the words in your language */ | | /** &withCSS= and &withJS= URL parameters |
| var NavigationBarHide = '[' + collapseCaption + ']';
| | * Allow to try custom scripts from MediaWiki space |
| var NavigationBarShow = '[' + expandCaption + ']';
| | * without editing personal .css or .js files |
| | | */ |
| /**
| | { |
| * Shows and hides content and picture (if available) of navigation bars
| | var extraCSS = mw.util.getParamValue("withCSS"); |
| * Parameters:
| | if ( extraCSS && extraCSS.match(/^MediaWiki:[^&<>=%]*\.css$/i) ) { |
| * indexNavigationBar: the index of navigation bar to be toggled
| | importStylesheet(extraCSS); |
| **/
| | } |
| window.toggleNavigationBar = function ( indexNavigationBar, event ) {
| | var extraJS = mw.util.getParamValue("withJS"); |
| var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar );
| | if ( extraJS && extraJS.match(/^MediaWiki:[^&<>=%]*\.js$/i) ) { |
| var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar );
| | importScript(extraJS); |
| var NavChild;
| | } |
| | | var extraModule = mw.util.getParamValue("withModule"); |
| if ( !NavFrame || !NavToggle ) {
| | if ( extraModule ) { |
| return false; | | mw.loader.load(extraModule.split('|')); |
| | } |
| } | | } |
|
| |
|
| /* if shown now */ | | /* 页面历史加&hilight=高亮 */ |
| if ( NavToggle.firstChild.data === NavigationBarHide ) { | | { |
| for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {
| | var hilight = mw.util.getParamValue('hilight'); |
| if ( $( NavChild ).hasClass( 'NavContent' ) || $( NavChild ).hasClass( 'NavPic' ) ) {
| | if (wgAction === 'history' && hilight) { |
| NavChild.style.display = 'none';
| | $.each(hilight.split(','), function (_, v) { |
| }
| | $('input[name=oldid][value=' + v + ']').parent().addClass('not-patrolled'); |
| }
| | }); |
| 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(); | | /* Main page hacks */ |
| };
| | if ( mw.config.get( 'wgIsMainPage' ) && mw.config.get( 'wgAction' ) == 'view' ) { |
| | | /* 维基百科语言列表 */ |
| /* adds show/hide-button to navigation bars */ | | $( function () { |
| function createNavigationBarToggleButton() {
| | mw.util.addPortletLink( |
| var indexNavigationBar = 0;
| | 'p-lang', |
| var NavFrame;
| | mw.util.getUrl( 'Wikipedia:维基百科语言列表' ), |
| var NavChild;
| | wgULS( '维基百科语言列表', '維基百科語言列表' ), |
| /* iterate over all < div >-elements */
| | 'interwiki-completelist', |
| var divs = document.getElementsByTagName( 'div' );
| | wgULS( '维基百科的完整各语言列表', '維基百科的完整各語言列表' ) |
| for ( var i = 0; (NavFrame = divs[i]); i++ ) {
| | ); |
| /* if found a navigation bar */ | | } ); |
| if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { | | /* Remove red links */ |
| | | $( 'a.new' ).contents().unwrap(); |
| 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 );
| |
| } | |
| }
| |
| }
| |
| | |
| mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );
| |
| | |
| /** | |
| * Uploadwizard_newusers
| |
| * Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]]
| |
| *
| |
| * Maintainers: [[User:Krimpet]]
| |
| */
| |
| function uploadwizard_newusers() {
| |
| if ( mw.config.get( 'wgNamespaceNumber' ) === 4 && mw.config.get( 'wgTitle' ) === 'Upload' && mw.config.get( 'wgAction' ) === 'view' ) {
| |
| var oldDiv = document.getElementById( 'autoconfirmedusers' ), | |
| newDiv = document.getElementById( 'newusers' );
| |
| if ( oldDiv && newDiv ) {
| |
| var userGroups = mw.config.get( 'wgUserGroups' );
| |
| if ( userGroups ) {
| |
| for ( var i = 0; i < userGroups.length; i++ ) {
| |
| if ( userGroups[i] === 'autoconfirmed' ) {
| |
| oldDiv.style.display = 'block';
| |
| newDiv.style.display = 'none';
| |
| return;
| |
| }
| |
| }
| |
| }
| |
| oldDiv.style.display = 'none';
| |
| newDiv.style.display = 'block';
| |
| return;
| |
| }
| |
| } | | } |
| } | | })(jQuery, mediaWiki); |
| | | }); |
| $(uploadwizard_newusers);
| |
| | |
| /**
| |
| * 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 () {
| | /* Check for any client-side simplified/traditional Chinese conversion */ |
| var cats = document.getElementById( 'mw-normal-catlinks' );
| | /* This routine must be placed here to make sure the field is inserted in time */ |
| if ( !cats ) {
| | $('#antispam-container').append( |
| return;
| | $('<input type="text" />').attr({ |
| }
| | id: 'wpAntiConv', |
| cats = cats.getElementsByTagName( 'a' );
| | value: '\u6c49\u6f22' |
| for ( var i = 0; i < cats.length; i++ ) {
| | }) |
| if ( cats[i].title === 'Category:Living people' || cats[i].title === 'Category:Possibly living people' ) {
| | ); |
| addEditIntro( 'Template:BLP_editintro' );
| |
| break;
| |
| }
| |
| }
| |
| } );
| |
| }
| |
|
| |
|
| /** | | // Results from Wikidata |
| * Description: Stay on the secure server as much as possible
| | // [[File:Wdsearch_script_screenshot.png]] |
| * Maintainers: [[User:TheDJ]]
| | if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === '搜索' || ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) { |
| */
| | importScriptURI("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript"); |
| if ( document.location && document.location.protocol && document.location.protocol === 'https:' ) { | |
| /* New secure servers */
| |
| importScript( 'MediaWiki:Common.js/secure new.js' );
| |
| } | | } |
|
| |
|
| /* End of mw.loader.using callback */
| | window.oc15t = true; |
| } );
| |
| /* DO NOT ADD CODE BELOW THIS LINE */
| |