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.
/*
{{Utilisateur:Dr Brains/onglets}}
 
'''<big>[[Utilisateur:Dr Brains/WhatlinkshereDeluxe.js]]</big>''' est un code javascript qui s'active dans la page spéciale [[Spécial:Pages liées]] et qui permet de comptabiliser le nombre de pages liées grâce à des requêtes [[Asynchronous JavaScript and XML|Ajax]] sur l'[http://fr.wikipedia.org/w/api.php API] de mediawiki.
 
Le script supporte toutes les options de la page : 
* choix de l'espace de noms
* comptabilisation ou pas :
** des redirections
** des liens
** des inclusions
** des fichiers liés
 
== Installation ==
 
Pour installer cette fonction, ajouter le code suivant à votre page [[Special:Mypage/monobook.js|monobook.js]] (ou autre suivant l'habillage sélectionné dans les [[Spécial:préférences]]) :
 
<div style="border:1px dashed green;margin:1em;padding:1em;">
<source lang=javascript>
importScript('Utilisateur:Dr Brains/WhatlinkshereDeluxe.js');
</source>
</div>
 
== CODE SOURCE ==
 
{{Boîte déroulante début|titre=[[Utilisateur:Dr Brains/WhatlinkshereDeluxe.js]]}}<!--
*/
// --><source lang=javascript>
 
// Documentation : [[Discussion utilisateur:Dr Brains/WhatlinkshereDeluxe.js]]
 
//<pre><nowiki>
 
if(mw.config.get('wgCanonicalSpecialPageName')=="Whatlinkshere"){
     addOnloadHook(WhatlinkshereDeluxe);
}
 
function WhatlinkshereDeluxe(){
     var paragraphe = document.getElementsByTagName('p');
     for(var a=0;a<paragraphe.length;a++){
          if(paragraphe[a].innerHTML.indexOf("Les pages ci-dessous")!=-1){
               paragraphe[a].innerHTML = paragraphe[a].innerHTML.split("Les pages ci-dessous").join("<span id=\"WhatlinkshereRecap\">0</span> pages");
               var Page = paragraphe[a].getElementsByTagName('a')[0].innerHTML;
               var Params = '&blfilterredir=all';
               var Namespaces = '0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|100|101|102|103|104|105';
               var url = document.URL;
               if(url.indexOf('&namespace=')!=-1){
                    var URLNamespaces = url.split('&namespace=')[1].split('&')[0];
                    if(URLNamespaces!='') Namespaces = URLNamespaces;
               }
               if(url.indexOf("&hideimages=1")!=-1){  // Fichiers liés
                    var Images = false;
               }else{
                    var Images = true;
               }
               if(url.indexOf("&hidetrans=1")!=-1){   // Transclusions
                    var Transclusions = false;
               }else{
                    var Transclusions = true;
               }
               if((url.indexOf("&hidelinks=1")!=-1)&&(url.indexOf("&hidelinks=1")!=-1)){ // Pages liées
                    var Links = false;
               }else{
                    var Links = true;
               }
               if((url.indexOf("&hidelinks=1")==-1)&&(url.indexOf("&hideredirs=1")!=-1)) Params = '&blfilterredir=nonredirects'; // Liens
               if((url.indexOf("&hidelinks=1")!=-1)&&(url.indexOf("&hideredirs=1")==-1)) Params = '&blfilterredir=redirects' // Redirections
               WhatlinkshereDeluxe_GetLinks(Page, Params, Namespaces, Transclusions, Links, Images);
 
          }
     }
}
 
 
var WhatlinkshereDeluxe_PagesCount = 0;
 
function WhatlinkshereDeluxe_GetLinks(TitrePage, Params, Namespaces, Transclusions, Links, Images, RequeteContinue){
     if(!Links){
          if((Images)||(Transclusions)) WhatlinkshereDeluxe_GetTransclusions(TitrePage, Namespaces, Transclusions, Images);
          return;
     }
     if(!RequeteContinue) RequeteContinue ='';
     var Recap = document.getElementById("WhatlinkshereRecap");
     if(!Recap) return;
     var APILimit = 499;
     if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
          APILimit = 4999;
     }
     var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=backlinks&bllimit='+APILimit+ Params +'&blnamespace='+Namespaces+'&bltitle=' + TitrePage + RequeteContinue;
     var NouvelleRequete = new XMLHttpRequest();
     NouvelleRequete.open("GET", AdresseRequete, true);
     NouvelleRequete.send(null);
     NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
                  var ElementTraitement = document.createElement('div');
                  ElementTraitement.innerHTML = NouvelleRequete.responseText; 
                  //document.body.appendChild(ElementTraitement);
                  var Informations = ElementTraitement.getElementsByTagName('span');
                  var AutreRequeteNecessaire = false;
                  for(var a=0;a<Informations.length;a++){
                        var ContenuInformation = Informations[a].innerHTML;
                        if(ContenuInformation.indexOf('title=')!=-1){
                              WhatlinkshereDeluxe_PagesCount++
                        }
                        if(ContenuInformation.indexOf('blcontinue=')!=-1){
                              AutreRequeteNecessaire = true;
                              var AutreRequeteContinue = '&blcontinue=' + ContenuInformation.split('blcontinue="')[1].split('"')[0];
                        }
                  } 
                  if(AutreRequeteNecessaire==true){
                        Recap.innerHTML = WhatlinkshereDeluxe_PagesCount;
                        WhatlinkshereDeluxe_GetLinks(TitrePage, Params, Namespaces, Transclusions, Links, Images, AutreRequeteContinue);
                  }else{
                        Recap.innerHTML = '<b>'+WhatlinkshereDeluxe_PagesCount+'</b>';
                        if((Images)||(Transclusions)) WhatlinkshereDeluxe_GetTransclusions(TitrePage, Namespaces, Transclusions, Images);
                  }
            }
      }
}
 
function WhatlinkshereDeluxe_GetTransclusions(TitrePage, Namespaces, Transclusions, Images, RequeteContinue){
     if(!Transclusions){
          if(Images){
               WhatlinkshereDeluxe_GetImages(TitrePage, Namespaces);
               return;
          }else{
               return;
          }
     }
     if(!RequeteContinue) RequeteContinue ='';
     var Recap = document.getElementById("WhatlinkshereRecap");
     if(!Recap) return;
     var APILimit = 499;
     if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
          APILimit = 4999;
     }
     var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=embeddedin&eilimit='+APILimit+'&einamespace='+Namespaces+'&eititle=' + TitrePage + RequeteContinue;
     var NouvelleRequete = new XMLHttpRequest();
     NouvelleRequete.open("GET", AdresseRequete, true);
     NouvelleRequete.send(null);
     NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
                  var ElementTraitement = document.createElement('div');
                  ElementTraitement.innerHTML = NouvelleRequete.responseText; 
                  //document.body.appendChild(ElementTraitement);
                  var Informations = ElementTraitement.getElementsByTagName('span');
                  var AutreRequeteNecessaire = false;
                  for(var a=0;a<Informations.length;a++){
                        var ContenuInformation = Informations[a].innerHTML;
                        if(ContenuInformation.indexOf('title=')!=-1){
                              WhatlinkshereDeluxe_PagesCount++
                        }
                        if(ContenuInformation.indexOf('eicontinue=')!=-1){
                              AutreRequeteNecessaire = true;
                              var AutreRequeteContinue = '&eicontinue=' + ContenuInformation.split('eicontinue="')[1].split('"')[0];
                        }
                  } 
                  if(AutreRequeteNecessaire==true){
                        Recap.innerHTML = WhatlinkshereDeluxe_PagesCount;
                        WhatlinkshereDeluxe_GetTransclusions(TitrePage, Namespaces, Transclusions, Images, AutreRequeteContinue);
                  }else{
                        Recap.innerHTML = '<b>'+WhatlinkshereDeluxe_PagesCount+'</b>';
                        if(Images) WhatlinkshereDeluxe_GetImages(TitrePage, Namespaces);
                  }
            }
      }
}
 
function WhatlinkshereDeluxe_GetImages(TitrePage, Namespaces, RequeteContinue){
     if(!RequeteContinue) RequeteContinue ='';
     var Recap = document.getElementById("WhatlinkshereRecap");
     if(!Recap) return;
     var APILimit = 499;
     if((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)){
          APILimit = 4999;
     }
     var AdresseRequete = mw.config.get('wgServer') + '/w/api.php?action=query&list=imageusage&iulimit='+APILimit+'&iunamespace='+Namespaces+'&iutitle=' + TitrePage + RequeteContinue;
     var NouvelleRequete = new XMLHttpRequest();
     NouvelleRequete.open("GET", AdresseRequete, true);
     NouvelleRequete.send(null);
     NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState == 4 && NouvelleRequete.status == 200) {
                  var ElementTraitement = document.createElement('div');
                  ElementTraitement.innerHTML = NouvelleRequete.responseText; 
                  //document.body.appendChild(ElementTraitement);
                  var Informations = ElementTraitement.getElementsByTagName('span');
                  var AutreRequeteNecessaire = false;
                  for(var a=0;a<Informations.length;a++){
                        var ContenuInformation = Informations[a].innerHTML;
                        if(ContenuInformation.indexOf('title=')!=-1){
                              WhatlinkshereDeluxe_PagesCount++
                        }
                        if(ContenuInformation.indexOf('iucontinue=')!=-1){
                              AutreRequeteNecessaire = true;
                              var AutreRequeteContinue = '&iucontinue=' + ContenuInformation.split('iucontinue="')[1].split('"')[0];
                        }
                  } 
                  if(AutreRequeteNecessaire==true){
                        Recap.innerHTML = WhatlinkshereDeluxe_PagesCount;
                        WhatlinkshereDeluxe_GetImages(TitrePage, Namespaces, AutreRequeteContinue);
                  }else{
                        Recap.innerHTML = '<b>'+WhatlinkshereDeluxe_PagesCount+'</b>';
                  }
            }
      }
}
 
 
//</nowiki></pre></source>{{Boîte déroulante fin}}