MediaWiki:Gadget-OngletPurge.js

La bibliothèque libre.

Note : après avoir enregistré 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 pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/**
 * OngletPurge
 *
 * Onglet permettant de réaliser une purge du cache
 */
$(document).ready(function() {
  if(mw.config.get('wgNamespaceNumber') >= 0 && (mw.config.get('wgAction') === 'view' || mw.config.get('wgAction') === 'history')) {
  	var purgePage = function() {
  	  new mw.Api().post({
        action: 'purge',
        titles: mw.config.get( 'wgPageName' )
      }).then(function () {
        location.reload();
      }, function () {
        mw.notify( 'Échec de la purge', { type: 'error' } );
      });
  	};

	mw.loader.using('mediawiki.util', function() {
	  var link = mw.util.addPortletLink(
    	'p-cactions',
      	mw.util.getUrl(null, {action: 'purge'}),
      	'Purger',
        'ca-purge',
        'Purger le cache de la page'
      );
      if(link === null) {
      	return;
      }
      var $link = $(link);
      $link.click(function(e) {
        if(mw.config.get('wgNamespaceNumber') == 104) {
          var img = new Image();
          img.src = $('img#ProofReadImage').attr('src') + '?action=purge';
          img.onload = purgePage;
        } else {
      	  purgePage();
        }
        e.preventDefault();
      });
      if(mw.config.get('wgAction') === 'purge') {
        $link.addClass('selected');
      }
    });
  }
});