Remarque: après avoir sauvegardé, vous devez vider le cache de votre navigateur pour que les changements prennent effet. Mozilla, cliquez sur Actualiser (ou ctrl-r). Internet Explorer / Opera: ctrl-f5. Safari: cmd-r. Konqueror ctrl-r.

/************ Adaptation de codes JS ******************
************  pour usages interprojet *****************
******************************************************/

( function ( mw, $ ) { // Closure fermée à la toute fin du script

///////////////////// SpecialChars ///////////////////////
/////// remplacement des séquences de caractères ////////

// hookage de la fonction, sauf sur les pages en JS ou CSS
// (ce gadget serait une nuisance sur de telles pages)
var title = mw.config.get( 'wgTitle' );
var P3 = title.substring( title.length-3 );
var P4 = title.substring( title.length-4 );
var namespace = mw.config.get('wgNamespaceNumber');
if ( (P3 !== ".js") && (P4 !== ".css") || (P3 === ".js" || P4 === ".css") && namespace%2 === 1 ) {
	$(SpecChar_Main);
}
function SpecChar_Main() {
	  tb = document.getElementById("wpTextbox1");
	  if (!tb) return;
	 
	  tb.onkeyup = function(e) {
		  var key = (window.event) ? event.keyCode : e.keyCode;
		 
		  startPos = tb.selectionStart;
		  endPos = tb.selectionEnd;
		  if ( endPos==startPos && (key>=12 && key<=255) ) {
			 
			   m = tb.value.substring(startPos-2, startPos);
			   m3 = tb.value.substring(startPos-3, startPos);
			   f = tb.value.substring(startPos);
			   todo = true;
			   i = 2;
			 
			    switch (m) {  //traitement de des séquences de 2 caractères
					case "$s":m="ſ";break;
					case "$à":m="À";break;
					case "$é":m="É";break;
					case "$è":m="È";break;
					case "$ç":m="Ç";break;
					case "$-":m="– ";break;
					case "$_":m="— ";break;
					case "<<":m="« ";break;
					case ">>":m=" »";break;
					case "$ù":m="Ù";break;
					case "$$":m=" — ~~" + "~~";break;
					default:todo=false;
			    }
			    if (!todo) {     //traitement de des séquences de 3 caractères
					m=m3; todo=true; i=3;
					switch (m) {
						case "$oe":m="œ";break;
						case "$ae":m="æ";break;
						case "$OE":m="Œ";break;
						case "$AE":m="Æ";break;
						case "$aa":m="ā";break;
						case "$ii":m="ī";break;
						case "$ee":m="ē";break;
						case "$uu":m="ū";break;
						case "$oo":m="ō";break;
						case "$AA":m="Ā";break;
						case "$II":m="Ī";break;
						case "$EE":m="Ē";break;
						case "$UU":m="Ū";break;
						case "$OO":m="Ō";break;
						case "...":m="…";break;
						default:todo=false;
					}
			    }
			 
			    if (todo) {
					var textScroll = tb.scrollTop;
					h = tb.value.substring(0, startPos-i);
					tb.value = h+m+f;
					tb.selectionStart = startPos-i + m.length;
					tb.selectionEnd = tb.selectionStart;
					tb.scrollTop = textScroll;
			    }
		   }
	  };
}
} ( mediaWiki, jQuery ) ); // Fin de la closure