MediaWiki:Mobile.js
Révision datée du 14 septembre 2018 à 12:52 par Alexandrep (discussion | contributions) (1 révision importée)
/** * Le Javascript placé ici affectera tous les utilisateurs du site mobile. * * ATTENTION : Avant de modifier cette page, veuillez tester vos changements avec votre propre * minerva.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 ! * * <nowiki> /!\ Ne pas retirer cette balise */ /****************************************/ /* Applications pour l'ensemble du site */ /****************************************/ /** * Réécriture des titres * * Fonction utilisée par [[Modèle:Titre incorrect]] * * La fonction cherche un bandeau de la forme * <div id="RealTitleBanner"> * <span id="RealTitle">titre</span> * </div> * * Un élément comportant id="DisableRealTitle" désactive la fonction */ function rewritePageTitle( $ ) { var $realTitle, titleText, $h1, $realTitleBanner = $( '#RealTitleBanner' ); if ( $realTitleBanner.length && !$( '#DisableRealTitle' ).length ) { $realTitle = $( '#RealTitle' ); $h1 = $( 'h1:first' ); if ( $realTitle.length && $h1.length ) { titleText = $realTitle.html(); if ( titleText === '' ) { $h1.hide(); } else { $h1.html( titleText ); if ( mw.config.get('wgAction') == 'view' && $realTitle.children().length === 0 ) { document.title = $realTitle.text() + " — Wikipédia"; } } $realTitleBanner.hide(); $( '<p>' ).css( 'font-size', '80%' ) .html( 'Titre à utiliser pour créer un lien interne : <b>' + mw.config.get('wgPageName').replace( /_/g, ' ' ) + '</b>' ) .insertAfter( $h1 ); } } } $( rewritePageTitle ); /** * Script pour alterner entre plusieurs cartes de géolocalisation */ function GeoBox_Init(Element){ if(!Element) Element = document.body; var cont = $( Element ).find( 'div.img_toogle' ).get(); for (var i = 0,m=cont.length; i < m; i++) { cont[i].id = 'img_toogle_' + i; var Boxes = $( cont[i] ).find( '.geobox' ).get(); var ToggleLinksDiv = document.createElement('ul'); ToggleLinksDiv.id = 'geoboxToggleLinks_' + i; for(var a=0,l=Boxes.length;a<l;a++){ var ThisBox = Boxes[a]; ThisBox.id = 'geobox_' + i + "_" + a; ThisBox.style.borderTop='0'; var ThisAlt = ThisBox.getElementsByTagName('img')[0].alt; var toggle = document.createElement('a'); toggle.id = 'geoboxToggle_' + i + "_" + a; toggle.appendChild(document.createTextNode(ThisAlt)); toggle.href='javascript:;'; toggle.onclick = function(){ GeoBox_Toggle(this); return false; }; var Li = document.createElement('li'); Li.appendChild(toggle); ToggleLinksDiv.appendChild(Li); if(a==(l-1)){ Li.style.display = "none"; }else{ ThisBox.style.display = "none"; } } cont[i].appendChild(ToggleLinksDiv); } } function GeoBox_Toggle(link){ var a, l; var ImgToggleIndex = link.id.split('geoboxToggle_').join('').replace(/_.*/g, ""); var GeoBoxIndex = link.id.replace(/.*_/g, ""); var ImageToggle = document.getElementById('img_toogle_' + ImgToggleIndex); var Links = document.getElementById('geoboxToggleLinks_' + ImgToggleIndex); var Geobox = document.getElementById('geobox_' + ImgToggleIndex + "_" + GeoBoxIndex); var Link = document.getElementById('geoboxToggle_' + ImgToggleIndex + "_" + GeoBoxIndex); if ( (!ImageToggle) || (!Links) || (!Geobox) || (!Link) ) return; var AllGeoboxes = $( ImageToggle ).find( '.geobox' ).get(); for ( a=0, l=AllGeoboxes.length; a<l; a++ ) { var ThisgeoBox = AllGeoboxes[a]; if (ThisgeoBox.id === Geobox.id) { ThisgeoBox.style.display = ""; } else { ThisgeoBox.style.display = "none"; } } var AllToggleLinks = Links.getElementsByTagName('a'); for(a=0,l=AllToggleLinks.length;a<l;a++){ var thisToggleLink = AllToggleLinks[a]; if(thisToggleLink.id === Link.id){ thisToggleLink.parentNode.style.display = "none"; }else{ thisToggleLink.parentNode.style.display = ""; } } } if ( ['view','submit'].indexOf(mw.config.get('wgAction')) !== -1) { $( function() { GeoBox_Init(); } ); } /** * Ajoute la date de dernière modification sur le bandeau événement récent */ function LastModCopy( $ ) { var lastmodcopy = $( '.lastmodcopy' ); if ( lastmodcopy.length ) { // L'id change entre Monobook et Modern d'une part, et Vector d'autre part lastmodcopy.html( $( '#mw-mf-last-modified' ).html() ); } } $( LastModCopy ); /* </nowiki> */