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) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
mw.loader.using('mediawiki.util', function () {

// {{Catégorisation JS|VerifHomon}} 
 
$(function(){
  mw.util.addPortletLink('p-tb', 'javascript:verifierHomonymies_init();', 'Vérif. homonymies', 't-homon', "Vérifier les liens de cette page menant vers des pages d'homonymie");
  });
 
var verifierHomonymies_goodLinks = new Array();
var verifierHomonymies_compteurHomon = 0;
 
function verifierHomonymies_init(){
     var Content = document.getElementById('bodyContent'); // monobook, chick, myskin, simple, vector
     if(!Content) Content = document.getElementById('mw_contentholder'); //modern
     if(!Content) Content = document.getElementById('article'); // cologneblue, nostalgia, standard
     if(!Content) return;
     var allLinks = Content.getElementsByTagName('a');
     for (i=0; i<allLinks.length; i++){
          if (!(!allLinks[i].href || $(allLinks[i].parentNode).hasClass('editsection') || $(allLinks[i].parentNode).hasClass('cachelinks') || $(allLinks[i]).hasClass('noprint') || $(allLinks[i]).hasClass('external') || allLinks[i].href.indexOf('javascript:') == 0 || allLinks[i].className == 'new' || allLinks[i].className == 'image' || allLinks[i].parentNode.parentNode.id == 'mw-normal-catlinks' || allLinks[i].parentNode.id == 'mw-normal-catlinks' || allLinks[i].href == mw.config.get('wgServer')+'/wiki/'+encodeURI(mw.config.get('wgPageName')) || allLinks[i].href.indexOf(mw.config.get('wgServer')+'/wiki/'+encodeURI(mw.config.get('wgPageName'))+'#') == 0 || allLinks[i].parentNode.className == 'subpages' || allLinks[i].parentNode.id == 'contentSub' )) {
               verifierHomonymies_goodLinks.push(allLinks[i]);
          }
     }
     if (!confirm(verifierHomonymies_goodLinks.length + " liens vont être analysés."))  return;
     verifierHomonymies_getTemplates();
}
 
function verifierHomonymies_getTemplates(){
     var Templates = new Array();
     var Aj = new XMLHttpRequest();    
     Aj.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=links&pllimit=499&titles=MediaWiki:Disambiguationspage', true);
     Aj.onreadystatechange = function() {
          if (Aj.readyState != 4 || Aj.status != 200) return;
          var AllLinks = Aj.responseXML.documentElement.getElementsByTagName('pl');  
          for(var a=0,l=AllLinks.length;a<l;a++){
               Templates.push(AllLinks[a].getAttribute("title"));
          } 
          verifierHomonymies(Templates, 0);
     }
     Aj.send(null);
}
 
function verifierHomonymies(Templates, position, TlContinue) {
     if(!position) position=0;
     if(!TlContinue) TlContinue="";
     var tempLink = verifierHomonymies_goodLinks[position];
     if(!tempLink){
          verifierHomonymies_Msg();
          return;
     }
     var tempTitle = tempLink.title;
     var Aj = new XMLHttpRequest();    
     Aj.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?action=query&prop=templates&redirects&format=xml&tllimit=499&titles=' + encodeURIComponent(tempTitle).replace(/&/g, "%26") + TlContinue, true);
     Aj.onreadystatechange = function() {
          if (Aj.readyState != 4 || Aj.status != 200) return;
          var FoundHomon = false;
          verifierHomonymies_goodLinks[position].style.backgroundColor = '#C8FFC8';
          var Alltemplates = Aj.responseXML.documentElement.getElementsByTagName('tl');      
          for (j=0; j<Alltemplates.length; j++){
               var ThisTemplate = Alltemplates[j].getAttribute("title");
               if (Templates.indexOf(ThisTemplate)!=-1){
                    FoundHomon = true;
                    verifierHomonymies_goodLinks[position].style.backgroundColor = '#FFCCCC';
                    verifierHomonymies_compteurHomon++;
                    break;
               }
          }
          var QueryContinue = Aj.responseXML.documentElement.getElementsByTagName('query-continue')[0];
          if(!FoundHomon && QueryContinue){
               var NewTlContinue = "&tlcontinue=" + QueryContinue.firstChild.getAttribute("tlcontinue").replace(/&/g, "%26");
               verifierHomonymies(Templates, position, NewTlContinue);
          }else{
               verifierHomonymies(Templates, (position+1));
          }
     }
     Aj.send(null);
}
 
function verifierHomonymies_Msg(){
     // Message de fin.
     var msg = "";
     if (verifierHomonymies_compteurHomon == 0)
          msg = "Aucun lien vers une page d’homonymie n’a été trouvé.";
     else if (verifierHomonymies_compteurHomon == 1)
          msg = "Un lien vers une page d’homonymie a été trouvé.";
     else
          msg = verifierHomonymies_compteurHomon + " liens vers des pages d’homonymie ont été trouvés.";
     alert(msg);
}

});