Utilisateur:Nakor/LiensRouges.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./**
* 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, Nakor
*
* Dernière révision : 3 juin 2009
* {{Catégorisation JS|LiensRouges}}
*/
////////////////////// ZONE PERSONNALISABLE //////////////////////
// Le script est automatiquement lancé si l'espace de nom ''et'' l'action sont dans les variables suivantes
var liensRougesNSOuvrir = [0];
var liensRougesActionOuvrir = ['submit'];
// Les liens pointant vers les espaces de nom suivants ne sont jamais traités
var liensRougesNSExclus = new String('Discuter|Discussion .*');
///////////////// FIN DE LA ZONE PERSONNALISABLE /////////////////
if(!Array.indexOf) Array.prototype.indexOf = function(w) { for(var i=0; i<this.length; i++) if(this[i] == w) return i; return -1; }
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++)
{
if(allLinks[i].getAttribute('class') == 'new')
{
titre = allLinks[i].getAttribute('title');
var short_title = titre.replace(' (page inexistante)', '');
if(reg2.test(short_title)) continue;
var newElement = document.createElement('sup');
newElement.className = 'exposant';
newElement.innerHTML =
'(<a href="http://www.google.com/search?num=100&q='+short_title+'+site:fr.wikipedia.org" title="Rechercher sur Google ce lien rouge">gg</a>'
+ '|<a href="/wiki/Special:Whatlinkshere/'+short_title.replace(reg1,'_')+'" title="Pages liées de ce lien rouge">pl</a>)';
allLinks[i].parentNode.insertBefore(newElement, allLinks[i].nextSibling);
}
}
}
if(mw.config.get('wgNamespaceNumber') != -1) addOnloadHook(liensRouges);