Utilisateur:Dr Brains/NavigationBistro.js
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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./* jshint laxbreak: true */
/* globals mw, $ */
if((mw.config.get('wgPageName').indexOf('Wikipédia:Le_Bistro/')!=-1)&&(mw.config.get('wgAction')=="view")){
mw.loader.addStyleTag(
'.Navigation_Bistro {'
+'margin:0.5em 0;'
+'padding-left:1em;'
+'padding-right:1em;'
+'border:1px solid silver;'
+'}'
);
mw.loader.using('mediawiki.util', function () {
$(NavigationBistro);
});
}
function NavigationBistro($){
var Content = document.getElementById('mw-content-text');
if(!Content) return;
var FirstTable = Content.getElementsByTagName('table')[0];
if(!FirstTable) return;
var SelfLink = FirstTable.getElementsByClassName('mw-selflink')[0];
if(!SelfLink) return;
var CurrentPage = SelfLink.parentNode;
if(CurrentPage.tagName!='TD') return;
var PreviousLink;
var NextLink;
var TDs = FirstTable.getElementsByTagName('td');
var TDsLength = TDs.length;
for(var b=0;b<TDsLength;b++){
if(TDs[b] == CurrentPage){
var Curseur, Link;
for(Curseur=b-1;Curseur>=0;Curseur--){
Link = TDs[Curseur].getElementsByTagName('a')[0];
if(Link && Link.href.indexOf('#')==-1){
PreviousLink = Link;
break;
}
}
for(Curseur=b+1;Curseur<TDsLength;Curseur++){
Link = TDs[Curseur].getElementsByTagName('a')[0];
if(Link && Link.href.indexOf('#')==-1){
NextLink = Link;
break;
}
}
break;
}
}
if(!PreviousLink||!NextLink){
return;
}
var PreviousPageHref = PreviousLink.href;
var PreviousPageTitle = PreviousLink.title;
var NextPageHref = NextLink.href;
var NextPageTitle = NextLink.title;
var CurrentPageHref = mw.util.getUrl();
var CurrentPageTitle = mw.config.get('wgPageName').replace(/_/g, ' ');
var LinksHTML = '<div style="overflow:auto;" class="noprint">'
+'<span style="float:left;">'
+'<a href="'+mw.html.escape(PreviousPageHref)+'" title="'+mw.html.escape(PreviousPageTitle)+'">'
+'<img src="https://upload.wikimedia.org/wikipedia/commons/1/16/Crystal_Clear_action_2leftarrow.png" height="50" width="50" alt="Page '+mw.html.escape(PreviousPageTitle)+'" />'
+'</a>'
+'</span>'
+'<span style="float:right;">'
+'<a href="'+mw.html.escape(NextPageHref)+'" title="'+mw.html.escape(NextPageTitle)+'">'
+'<img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Crystal_Clear_action_2rightarrow.png" height="50" width="50" alt="'+mw.html.escape(NextPageTitle)+'" />'
+'</a>'
+'</span>'
+'<center>'
+'<a href="'+mw.html.escape(CurrentPageHref)+'" title="'+mw.html.escape(CurrentPageTitle)+'">'
+'<img src="https://upload.wikimedia.org/wikipedia/commons/2/2c/Crystal_Clear_action_1uparrow.png" height="50" width="50" alt="Page '+mw.html.escape(CurrentPageTitle)+'" />'
+'</a>'
+'</center>'
+'</div>';
var Titre = document.getElementsByClassName('mw-first-heading')[0];
if(Titre){
var NavigDivTop = document.createElement('div');
NavigDivTop.className = "Navigation_Bistro";
NavigDivTop.innerHTML = LinksHTML;
Titre.parentNode.insertBefore(NavigDivTop, Titre);
}
var Printfooter = document.getElementsByClassName('printfooter')[0];
if(Printfooter){
var NavigDivBottom = document.createElement('div');
NavigDivBottom.className = "Navigation_Bistro";
NavigDivBottom.innerHTML = LinksHTML;
Printfooter.parentNode.insertBefore(NavigDivBottom, Printfooter);
}
}