MediaWiki:Mobile.js
Apparence
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> */