MediaWiki:Gadget-AncreTitres.js
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
/**
* AncreTitres
*
* Cette fonction fournit un lien vers une section de page en cliquant
* sur le lien [ancre] à droite du titre de section.
*
* Auteurs : Pabix, Phe, Bayo -- Correctif apporté par Chphe
* Date de dernière révision : 22 octobre 2012
* {{Projet:JavaScript/Script|AncreTitres}}
*/
var AncreTitres={
nom_ancre : "[URL]",
nom_lien_interne : "[[lien]]",
description : "Obtenir une URL vers cette section",
descinterne : "Obtenir un [[Lien#interne]]",
linkcolor : "",
fontSize : "xx-small",
fontWeight : "normal",
afficheE : true,
afficheI : true,
}
function ancrer(){
if (!document.getElementById('content')) return;
var titres = document.getElementsByTagName("span");
var i = 0;
var titre_courant;
if (!AncreTitres.afficheI && !AncreTitres.afficheE) return;
var prefixedServer = mw.config.get('wgServer');
if (mw.config.get('wgServer').substr(0, 2) == "//") {
if (document.URL.substr(0, 5) == "http:")
prefixedServer = "http:" + mw.config.get('wgServer');
else if (document.URL.substr(0, 6) == "https:")
prefixedServer = "https:" + mw.config.get('wgServer');
}
for (i = 0 ; i < titres.length ; i++){
var titre_courant = titres[i].parentNode;
if (!(titres[i].className.match(/mw-headline/gi))) continue;
var ancre_nom = titres[i].id;
var small;
var link;
span = document.createElement('span');
with(span ) {
if (AncreTitres.linkcolor != "") style.color=AncreTitres.linkcolor;
style.fontSize=AncreTitres.fontSize;
style.fontWeight=AncreTitres.fontWeight;
className = 'noprint ancretitres';
}
if (AncreTitres.afficheE) {
link = document.createElement('a');
with(link) {
innerHTML=AncreTitres.nom_ancre;
title=AncreTitres.description;
setAttribute("ancre", prefixedServer + mw.config.get('wgScript') + "?title="
+ mw.config.get('wgPageName') + "#" + ancre_nom
);
setAttribute("onclick", "window.prompt("
+ "'Lien : ', this.getAttribute('ancre'));"
);
setAttribute("href", "javascript:;"); }
span.appendChild(document.createTextNode(' '));
span.appendChild(link);
}
if (AncreTitres.afficheI) {
link = document.createElement('a');
with(link) {
innerHTML=AncreTitres.nom_lien_interne;
title=AncreTitres.descinterne;
setAttribute("ancre", "[[" + mw.config.get('wgPageName') + "#" + ancre_nom + "]]");
setAttribute("onclick", "window.prompt("
+ "'Lien : ', this.getAttribute('ancre'));"
);
setAttribute("href", "javascript:;");
}
span.appendChild(document.createTextNode(' '));
span.appendChild(link);
}
titre_courant.appendChild(span);
}
}
$(ancrer);