Медијавики:Gadget-specialchars.js
Изглед
Напомена: Пошто објавите измене, можда ћете морати да обришете кеш прегледача како бисте их видели.
- Firefox / Safari: Држите Shift и кликните на Reload или притисните Ctrl-F5 или Ctrl-R (⌘-R на Mac-у).
- Google Chrome: Притисните Ctrl-Shift-R (⌘-Shift-R на Mac-у).
- Edge: Држите Ctrl и кликните на Refresh или притисните Ctrl-F5.
/* {{Projet:JavaScript/Script|specialchars}} */
/*
Replacement de certains caractères spéciaux lors de l'édition
Uniquement sous firefox.
Auteur: ThomasV
Importé depuis la Wikisource
*/
function keycheck() {
tb = document.getElementById("wpTextbox1");
if( tb && mw.config.get('wgNamespaceNumber')!=8 ) {
tb.onkeyup=function(e) {
var key = (window.event) ? event.keyCode : e.keyCode;
startPos = tb.selectionStart;
endPos = tb.selectionEnd;
if( endPos==startPos && ( (key>=65 && key<=90) || key==222 || key==190) ) {
m = tb.value.substring(startPos-2, startPos);
m3 = tb.value.substring(startPos-3, startPos);
f = tb.value.substring(startPos);
todo=true; i=2;
if(m[1]=="'"){
m = m[0]+"’";
if(m=="’’") m="''";
if(m=="'’") m="''";
} else switch(m) {
case "^s" : m = "ſ"; break;
case "`A" : m = "À"; break;
case "`E" : m = "È"; break;
case "`U" : m = "Ù"; break;
case "´E" : m = "É"; break;
case "*E" : m = "É"; break;
default : todo = false;
}
if(!todo) {
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 "..." : 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;
}
}
}
}
}
if(!(mw.config.get('wgNamespaceNumber')%2==0 && mw.config.get('wgTitle').match(/\.js$/)!=null)) $(keycheck);