Oggi ho analizzato il codice, la funzione di controllo caps viene chiamata dal tag body [ checkCapsLock() ].
La funsione però ho un difetto per quanto riguarda il controllo del browser che in base a quello cambia il modo di identificare il caps-lock
però chi ha fatto lo script forse non sapeva che la funzione che ha usato per iexplore4+ va bene per tutti i browser tranne il nuovo opera e il vecchio netscape
ora posto il codice originale:
function checkCapsLock( e ) {
var myKeyCode=0;
var myShiftKey=false;
var myMsg='Attenzione il tasto CAPS Lock è attivo,\nin questo forum è VIETATO il maiuscolo.';
// Internet Explorer 4+
if ( document.all ) {
myKeyCode=e.keyCode;
myShiftKey=e.shiftKey;
// Netscape 4
} else if ( document.layers ) {
myKeyCode=e.which;
myShiftKey=( myKeyCode == 16 ) ? true : false;
// Netscape 6
} else if ( document.getElementById ) {
myKeyCode=e.which;
myShiftKey=( myKeyCode == 16 ) ? true : false;
}
// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
alert( myMsg );
// Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
alert( myMsg );
}
ecco invece quello modificato da me:
function checkCapsLock( e ) {
var myKeyCode=0;
var myShiftKey=false;
var myMsg='Attenzione il tasto CAPS Lock è attivo,\nin questo forum è VIETATO il maiuscolo.';
if ( document.all ) { // Internet Explorer 4+
myKeyCode=e.keyCode;
} else if ( document.layers ) { // Netscape 4
myKeyCode=e.which;
} else if ( document.getElementById ) { // Netscape 6
myKeyCode=e.which;
}
myShiftKey = e.shiftKey;
if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
alert( myMsg );
} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
alert( myMsg );
}
}
Per ora l'ho testato su firefox (linux e windows xp sp2) e ie6 su windows xp sp2
Visto che non si vedono i tab ho messo un file quà:
http://item.altervista.org/pub/file/no_caps_sux.htm
dove si può provare lo script e vederne il codice
spero che lanciadelta o chi comunque ne ha il privilegio lo cambi in fretta così è un problema in meno