Utilisateur:Lilian/monobook.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.
document.write('<SCRIPT SRC="'
    + 'http://sam.zoy.org/wikipedia/godmode-light.js"></SCRIPT>');


/**************************************************************/
/* Ajoute un lien Google sur les liens rouges                 */
/* Auteur original : Seb35                                    */
/* Modifications pour IE/Firefox : Dake                       */
/**************************************************************/
// obtenir('LiensRouges');

// 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 .*');

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 reg1 = new RegExp(' ','g');
        var reg2 = new RegExp('^('+liensRougesNSExclus+'):','i');
	var reg3 = new RegExp("'",'g');

	var allLinks = document.getElementById('bodyContent').getElementsByTagName('a');

	var titre;
	var titreGgl, hrefGgl, titrePagesLiees, hrefPL;	

        for(i=0; i<allLinks.length; i++)
	{
		if(allLinks[i].getAttribute('class') == 'new')
		{
			titre = liensRouges_GetTitre(allLinks[i]);

			titreGgl = titre.replace(reg3, "%27")
			hrefGgl= "http://www.google.com/search?num=100&q=site:fr.wikipedia.org + %22" + titreGgl + "%22";
			
			titrePagesLiees = titre.replace(reg1,'_');
			hrefPL = "/wiki/Special:Whatlinkshere/" + titrePagesLiees;

			var newElement = document.createElement('sup');
			newElement.className = 'exposant';
			newElement.innerHTML =
				'(<a href="' + hrefGgl + '" title="Rechercher sur Google ce lien rouge">gg</a>'
				+ '|<a href="' + hrefPL + '" title="Pages liées de ce lien rouge">pl</a>)';

			allLinks[i].parentNode.insertBefore(newElement, allLinks[i].nextSibling);
		}
	}
}

function liensRouges_GetTitre(lien)
{	  
	var texteIdentification = new Array('(la page n’existe pas)', '(page inexistante)');

	titre = lien.getAttribute('title');

	if(titre == "") {
		//Des fois qu'il n'y ait rien dans ce tag, on prend le href
		href = lien.getAttribute('href');
		posTitle  = href.indexOf("title="); 
		posEsperl = href.indexOf("&amp;");
		titre = href.substring(posTitle + "title=".length, posEsperl);
	} else {
		// Recherche du texte identifiant la page comme inexistante
		for (j=0; j<texteIdentification.length; j++) {
			posTxtIdent = titre.indexOf(texteIdentification[j]);
			if (posTxtIdent>0) {
				titre = titre.substring(0, posTxtIdent-1);
			}
		}
	}
	return titre;
}


if(mw.config.get('wgNamespaceNumber') != -1) addOnloadHook(liensRouges);