MediaWiki:Gadget-LiensRouges.js

Une page de Wikipedia, l'encyclopedie libre.
Sauter a la navigation Sauter a la recherche
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 (Maj-Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/**
 * Liens rouges
 * 
 * Ajoute deux liens vers [http://www.google.com/search?num=100&q=page+site:fr.wikipedia.org Google] et les [[Special:Whatlinkshere/page|pages liées]] aux liens rouges pour trouver rapidement un titre approchant
 *   ou vérifier si le titre est (très) demandé.
 * Par défaut, le script ne s'exécute automatiquement qu'en prévisualisation dans l'espace principal (articles encyclopédiques)
 *   et un lien dans la boîte à outils permet de l'exécuter ailleurs.
 * Les conditions d'ouverture sont personnalisables.
 * 
 * Exemple : [[page]] sup class="exposant plainlinks" ([http://www.google.com/search?num=100&q=page+site:fr.wikipedia.org gg]|[[Special:Whatlinkshere/page|pl]]) /sup 
 * 
 * Auteurs : Seb35, Dake
 * 
 * Dernière révision : 19 mai 2007
 * {{Catégorisation JS|LiensRouges}}
 */

////////////////////// ZONE PERSONNALISABLE //////////////////////

// Le script est automatiquement lancé si l'espace de nom ''et'' l'action sont dans les variables suivantes
if(typeof(liensRougesNSOuvrir) == "undefined") var liensRougesNSOuvrir = [0];
if(typeof(liensRougesActionOuvrir) == "undefined") var liensRougesActionOuvrir = ['submit'];

// Les liens pointant vers les espaces de nom suivants ne sont jamais traités
if(typeof(liensRougesNSExclus) == "undefined") var liensRougesNSExclus = new String('Discuter|Discussion .*');

///////////////// FIN DE LA ZONE PERSONNALISABLE /////////////////

function liensRouges(w){
    if(!w){
        document.getElementById('p-tb').getElementsByTagName('ul')[0].innerHTML += ' li  a title="Afficher des liens utiles sur les liens rouges" onclick="liensRouges(1);" style="cursor:pointer;" Liens rouges /a  /li ';
        if(liensRougesNSOuvrir.indexOf(mw.config.get('wgNamespaceNumber')) == -1 || liensRougesActionOuvrir.indexOf(mw.config.get('wgAction')) == -1) return;
    }
    var allLinks = document.getElementById('bodyContent').getElementsByTagName('a');
    var reg1 = new RegExp(' ','g');
    var reg2 = new RegExp('^('+liensRougesNSExclus+'):','i');
    for(i=0; i allLinks.length; i++){
        var link = allLinks[i];
        if( $( link ).hasClass( 'new' ) ){
            var titre = link.getAttribute('title');
            if(!titre) titre = link.innerHTML;
            if(reg2.test(titre)) continue;
            var newElement = document.createElement('sup');
            newElement.className = 'exposant';
            newElement.innerHTML = ''
                                 + '( a href="http://www.google.com/search?num=100&q='+titre+'+site:fr.wikipedia.org" title="Rechercher sur Google ce lien rouge" gg /a '
                                 + '| a href="/wiki/Special:Whatlinkshere/'+titre.replace(reg1,'_')+'" title="Pages liées de ce lien rouge" pl /a )';
            link.parentNode.insertBefore(newElement, link.nextSibling);
        }
    }
}
if(mw.config.get('wgNamespaceNumber') != -1) $(liensRouges);