Utilisateur:Dr Brains/ReferencesPopUp.js

Une page de Wikipédia, l'encyclopédie libre.
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.
/**
* ReferencesPopup
*
* Affiche les références des articles dans des popup (attribut "title").
*
* {{Projet:JavaScript/Script}} 
*/
 
var ReferencesPopUp_ThingsToDelete = new Array();
ReferencesPopUp_ThingsToDelete.push('[archive]');
ReferencesPopUp_ThingsToDelete.push('[détail des éditions]');
ReferencesPopUp_ThingsToDelete.push('texte intégral');
ReferencesPopUp_ThingsToDelete.push('lire en ligne');


function ReferencesPopUp_getReferenceText(id){
    if(!id) return false;
    var ReferenceLi = document.getElementById(id);
    if(ReferenceLi==null) return false;
    var RetourLi = ReferenceLi.getElementsByTagName('span')[0];
    if(!RetourLi) return false;
    var Texte = ReferenceLi.textContent;
    var Retour = RetourLi.textContent;
    var TexteReference = Texte.split(Retour).join('');
    for(var a=0,l=ReferencesPopUp_ThingsToDelete.length;a<l;a++){
        TexteReference = TexteReference.split(ReferencesPopUp_ThingsToDelete[a]).join('');
    }
    return TexteReference;
}

function ReferencesPopUp_modifyReferenceTitle(){
    var Sups = document.getElementsByTagName('sup');
    for(a=0;a<Sups.length;a++){
        if(Sups[a].className == 'reference'){
            var Reference = Sups[a];
            var LienCite = Reference.getElementsByTagName('a')[0];
            if(LienCite){
                var Href = LienCite.href;
                var LienReference = Href.substring(0, Href.indexOf('#'))
                var IdReference = Href.split(LienReference+'#').join('');
                var ExtractReference = ReferencesPopUp_getReferenceText(IdReference);
                if(ExtractReference){
                    LienCite.title = ExtractReference;
                }
            }
        }
    }
}

addOnloadHook(ReferencesPopUp_modifyReferenceTitle);