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.
var hsI18n = {
  'fr': {
    'buttontext': 'sélectionner les versions à masquer',
    'selectedversionnumber': ' versions sélectionnées',
    'unselectedversionnumberSingul': ' version désélectionnée',
    'unselectedversionnumberPlural': ' versions désélectionnées',
    'newlyselectedversionnumberSingul': ' nouvellement sélectionnée',
    'newlyselectedversionnumberPlural': ' nouvellement sélectionnées',
  },
};

function hsAddButton() {
  var hsCompare = document.getElementById('mw-history-compare');
  if(!hsCompare) return;
  var hsDiv = hsCompare.getElementsByTagName('div')[0];

  var hsButton = document.createElement('input');
  hsButton.type = 'button';
  hsButton.value = hsI18n[mw.config.get('wgUserLanguage')]["buttontext"];
  hsButton.style.float = 'right';
  hsButton.addEventListener('click', hsSelect);
  var hsInput = hsDiv.getElementsByTagName('input')[0];
  if(hsInput)hsDiv.insertBefore(hsButton, hsInput);
}

function hsSelect() {
  var hsList = document.getElementById('pagehistory').getElementsByTagName('li');
  var hsSelectedVersionNumber = 0;
  var hsUnselectedVersionNumber = 0;
  var hsNewlySelectedVersionNumber = 0;

  for (var i = 0; i < hsList.length; i++) {
    if ((i < hsList.length - 1) && ((hsList[i].getElementsByTagName('input')[1].style.visibility != 'hidden') && (hsList[i+1].getElementsByTagName('input')[0].style.visibility != 'hidden'))) {
      if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
      hsList[i].getElementsByTagName('input')[2].checked = true;
      hsSelectedVersionNumber++;
    }
    else if ((i == hsList.length-1) && (hsList[i-1].getElementsByTagName('input')[1].style.visibility != 'hidden')) {
      if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
      hsList[i].getElementsByTagName('input')[2].checked = true;
      hsSelectedVersionNumber++;
    }
    else if ((i > 0) && ((hsList[i].getElementsByTagName('input')[0].style.visibility != 'hidden') && (hsList[i-1].getElementsByTagName('input')[1].style.visibility != 'hidden'))) {
      if (hsList[i].getElementsByTagName('input')[2].checked == false) hsNewlySelectedVersionNumber++;
      hsList[i].getElementsByTagName('input')[2].checked = true;
      hsSelectedVersionNumber++;
    }
    else {
      if (hsList[i].getElementsByTagName('input')[2].checked) { hsUnselectedVersionNumber++; }
      hsList[i].getElementsByTagName('input')[2].checked = false;
    }
  }
  var hsMsg = hsSelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['selectedversionnumber'];
  if ((hsNewlySelectedVersionNumber != 0) && (hsNewlySelectedVersionNumber != hsSelectedVersionNumber)) {
    if (hsNewlySelectedVersionNumber > 1) {
      hsMsg = hsMsg + " (" + hsNewlySelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['newlyselectedversionnumberPlural'] + ")";
    }
    else { hsMsg = hsMsg + " (" + hsNewlySelectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['newlyselectedversionnumberSingul'] + ")"; }
  }
  if (hsUnselectedVersionNumber != 0) {
    if (hsUnselectedVersionNumber > 1) {
      hsMsg = hsMsg + " ; " + hsUnselectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['unselectedversionnumberPlural'];
    }
    else { hsMsg = hsMsg + " ; " + hsUnselectedVersionNumber + hsI18n[mw.config.get('wgUserLanguage')]['unselectedversionnumberSingul']; }
  }
  alert(hsMsg);
  return true;
}

if (mw.config.get('wgAction') === 'history') {
  $(hsAddButton);
}