MediaWiki:Monobook.js

De BoyWiki

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage MonoBook uniquement. */

/* Note: cette page n'est pas indispensable au fonctionnement du site, */
/* en cas d'erreur bloquante elle peut être vidée dans l'urgence. */




/* Decoration des discussions dans Agora */
/* affecte une classe au dernier tag dl de chaque paragraphe indentation */
/* utilise par css pour encadrement colorise des dialogues indentes */

function dialog_indent_attrib_class() {
   /* seulement pour les pages Agora */
   var bodyclass = document.body.className;
   if (bodyclass.match(/page-BoyWiki_Agora/)) {
      var prevnbindent = -1;
      document.body.className = bodyclass + ' dialog';
      var tbltags = document.getElementById('bodyContent').childNodes;
      /* pour chaque noeud du div cherche les tags dl */
      for (var n=0; n<tbltags.length; n++) {
         if (tbltags[n].nodeName == 'DL') {
            var lastdl = tbltags[n];
            var node = tbltags[n].firstChild;
            /* parcourt recursivement la file des enfants du dl initial */
            var nbindent = 0;
            while (node != null) {
               /* note le dernier dl trouve et le niveau indentation */
               if (node.nodeName == 'DL') {
                  lastdl = node;
                  nbindent += 1;
               }
               node = node.firstChild;
            }
            /* affecte une classe au dernier dl enfant si niveau indentation different */
            if (nbindent != prevnbindent) 
               lastdl.className = 'last_dl_tag';
            prevnbindent = nbindent;
         }
         /* sans indentation */
         else if (tbltags[n].nodeName == 'P')
            prevnbindent = -1;
      }
   }
}

addOnloadHook(dialog_indent_attrib_class);