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.
/* {{Projet:JavaScript/Script|NewMessage}} */
 
// <source lang=javascript><pre><nowiki>
 
// /////////////////////////////////////////////////////////////////// VARIABLES : Pages à surveiller
 
if(typeof(NewMessage_PagesASurveiller)=="undefined"){
        var NewMessage_PagesASurveiller = new Array();
        NewMessage_PagesASurveiller.push("Discussion utilisateur:Althiphika/Parrainage/Watever");
   
}
 
// /////////////////////////////////////////////////////// MISE A JOUR DU COOKIE
 
function NewMessage_setCookie (cookieName, cookieValue) {
        var now = new Date();
        var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
        document.cookie = escape(cookieName) + '=' + escape(cookieValue) + '; EXPIRES=' + nextYear.toGMTString()  + "; PATH=/" ; 
}
 
 
// /////////////////////////////////////////////////////// INTERROGATION DU COOKIE
 
function NewMessage_getCookie(cookieName) {
        var cookieValue = "null";
        var posName = document.cookie.indexOf(escape(cookieName) + '=' );
        if (posName != -1) {
                        var posValue = posName + (escape(cookieName) + '=' ).length;
                        var endPos = document.cookie.indexOf(';', posValue) ;
                if (endPos != -1) {
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));
                } else {
                        cookieValue = unescape(document.cookie.substring(posValue));
                }
        }
        return decodeURIComponent(cookieValue);
}
 
// /////////////////////////////////////////////////////////////////// LANCEMENT
 
$(NewMessage);
 
// /////////////////////////////////////////////////////////////////// RECHERCHE OLDID ACTUEL
 
function NewMessage(position){
      if(!position) position = 0;
      var Page = NewMessage_PagesASurveiller[position];
      if(!Page) return;
 
      var LastOldid = "prev";
      var LastOldidCookie = NewMessage_getCookie("NewMessage" + Page.replace(/ /g,"_").replace(/:/g,"DEUXPOINT"));
      if((LastOldidCookie!=false)&&(LastOldidCookie!='')&&(LastOldidCookie!="null")&&(LastOldidCookie!=null)&&(LastOldidCookie!="undefined")) LastOldid = LastOldidCookie;
 
      var AdresseRequete = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?format=xml&action=query&prop=revisions&titles=' + Page;
      var NouvelleRequete = new XMLHttpRequest();
      NouvelleRequete.open("GET", AdresseRequete, true);
      NouvelleRequete.onreadystatechange = function() {
            if(NouvelleRequete.readyState != 4 ) return;
            var ObjetXML = NouvelleRequete.responseXML;
            if(ObjetXML==null){
                  NewMessage((position+1));
                  return;
            }
            var PageInfos = ObjetXML.getElementsByTagName('rev')[0];
            if(!PageInfos){
                  NewMessage((position+1));
                  return;
            }
            var NewOldid = PageInfos.getAttribute('revid');
            if(NewOldid!=LastOldid){
                  if(mw.config.get('wgPageName').replace(/_/g," ") == Page){
                        NewMessage_setCookie("NewMessage" + Page.replace(/ /g,"_").replace(/:/g,"DEUXPOINT") , NewOldid);
                  }else{
                        var User = PageInfos.getAttribute('user');
                        var Date = NewMessage_ManageTimestamp(PageInfos.getAttribute('timestamp'));
                        NewMessage_AjoutBandeau(position, LastOldid, NewOldid, User, Date);
                  }
            }
            NewMessage((position+1));
      }
      NouvelleRequete.send(null);
}
 
var NewMessage_ArticlePath = mw.config.get('wgArticlePath').split('$1').join('');
var NewMessage_MessageTemplate = '<table width="100%" style="background:none"><tr><td width="30px" valign="middle"><img height="25" width="25" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Nuvola_apps_email.png/25px-Nuvola_apps_email.png" alt="Nuvola apps email.png"></td><td><span style="float:right;"><small><sub><a href="javascript:NewMessage_MiseAJourCookie($0, $3);" title="Mettre à jour cette notification">RAZ</a></sub></small></span>Vous avez de nouveaux messages sur la page <a href="'+mw.config.get('wgServer') + '/wiki/$1" title="$1" >$1</a> <sup>(<a href="' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=$1&action=history" title="Historique de $1" >hist</a>|<a href="' + mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=$1&diff=$3&oldid=$2" title="Dernières modifications de $1" >diff</a>)</sup><br/>&nbsp;&nbsp;<small>Dernière modification par <a href="'+mw.config.get('wgServer')+NewMessage_ArticlePath+mw.config.get('wgFormattedNamespaces')[2]+':$4" title="'+mw.config.get('wgFormattedNamespaces')[2]+':$4">$4</a> (<a href="'+mw.config.get('wgServer')+NewMessage_ArticlePath+mw.config.get('wgFormattedNamespaces')[3]+':$4" title="'+mw.config.get('wgFormattedNamespaces')[3]+':$4">d</a>) le $5</small></td></tr><table>';
 
 
// /////////////////////////////////////////////////////////////////// INSERTION BANDEAU
 
function NewMessage_AjoutBandeau(position, LastOldid, NewOldid, User, Date){
      var Content = document.getElementById('bodyContent');               // monobook, myskin, chick, simple, vector
      if(!Content) Content = document.getElementById('article');          // cologneblue, nostalgia, standard
      if(!Content) Content = document.getElementById('mw_contentholder'); // modern
      if(!Content) return;
 
      var MessageContent = NewMessage_MessageTemplate;
      MessageContent = MessageContent.split('$0').join(position);
      MessageContent = MessageContent.split('$1').join(NewMessage_PagesASurveiller[position]);
      MessageContent = MessageContent.split('$2').join(LastOldid);
      MessageContent = MessageContent.split('$3').join(NewOldid);
      MessageContent = MessageContent.split('$4').join(User);
      MessageContent = MessageContent.split('$5').join(Date);
 
      var Div = document.createElement('div');
      Div.className = "usermessage";
      Div.id = "usermessage_" + position;
      Div.innerHTML = MessageContent;
      Content.parentNode.insertBefore(Div, Content);      
}
 
function NewMessage_MiseAJourCookie(position, NewOldid){
      var Page = NewMessage_PagesASurveiller[position];
      if(Page){
            var CookieName = "NewMessage" + Page.replace(/ /g,"_").replace(/:/g,"DEUXPOINT")
            NewMessage_setCookie(CookieName , NewOldid);
      }
      var DivMessage = document.getElementById("usermessage_" + position);
      if(DivMessage){
            DivMessage.style.display = "none";
      }
}
 
////////////////////////// DÉCODAGE TIMESTAMP
 
function NewMessage_ManageTimestamp(TimeStamp){
     if(!TimeStamp) return false;
     var DateUgly = TimeStamp.replace(/Z/g, "").split("T")[0];
     var Time = TimeStamp.split("T")[1].replace(/Z/g, "");
     var Date = DateUgly.split("-");
     var Year = Date[0];
     var Month = Date[1];
     var Day = Date[2];
     var Text = Day + "/" + Month + "/" + Year + " à " + Time;
     return Text;
}
 
 
//</nowiki></pre></source>