Aller au contenu

MediaWiki:Mobile.js

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 27 décembre 2019 à 04:04 et modifiée en dernier par Od1n (discuter | contributions) (encore nitpicks). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/**
 * 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 img = ThisBox.getElementsByTagName('img')[0];
			// C'est possible il n'y a pas image (par example https://fr.m.wikipedia.org/wiki/%C3%8Ele-de-France?oldid=157053815)
			if ( img && img.alt ) {
				var ThisAlt = img.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();
	} );
}

/* </nowiki> */