Utilisateur:Dr Brains/BandeauxPortailsAutoRedirect.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.
// ==================================================================================================================== 
// Recherche des pages qui n'ont pas de bandeau de portail via redirection automatique vers Special:Randompage
// Exclusion des pages d'homonymie
// Annulation de la redirection si bandeau inexistant (lien rouge)
//
// Licence : Domaine public
// 
//<pre><nowiki> 
 
var BandeauxPortails_PageAuHasard_ON = true;  // Activation de la redirection automatique
 
if( (mw.config.get('wgAction')=="view")&&(mw.config.get('wgNamespaceNumber')==0)&&(BandeauxPortails_PageAuHasard_ON==true)&&(document.URL.indexOf('&redirect=no')==-1)){
      addOnloadHook(BandeauxPortails_PageAuHasard); 
} 
function BandeauxPortails_PageAuHasard(){ 
      var GetAnotherPage = false;
      var UlBandeaux = document.getElementById('bandeau-portail');
      var LienPremierPortail = document.getElementById('lienPortail_0');
      if((!UlBandeaux)&&(LienPremierPortail)){
            var CatLinksDiv = document.getElementById('mw-normal-catlinks');
            if(CatLinksDiv){
                  var CatLinks = CatLinksDiv.getElementsByTagName('a');
                  for(a=0;a<CatLinks.length;a++){
                        if(CatLinks[a].innerHTML.indexOf("Homonymie")!=-1) GetAnotherPage = true; 
                  }
            }else{
                  return;
            }
      }else{
            GetAnotherPage = true;
            var Liens = UlBandeaux.getElementsByTagName('a');
            for(a=0;a<Liens.length;a++){
                  if($(Liens[a]).hasClass("new")){
                        GetAnotherPage = false;
                  }
            }            
      }
      if(GetAnotherPage==true) document.location = mw.config.get('wgServer') + '/wiki/Special:Randompage';
} 
//</nowiki></pre>
// ====================================================================================================================