Foros del Web » Programando para Internet » Javascript »

Desactivar telca f5

Estas en el tema de Desactivar telca f5 en el foro de Javascript en Foros del Web. hola amigos. como les va, les comento que tengo un chat asp y estoy teniendo un par de problemillas con las sesiones, y necesito desactivar ...
  #1 (permalink)  
Antiguo 16/12/2002, 21:23
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
Desactivar telca f5

hola amigos. como les va, les comento que tengo un chat asp y estoy teniendo un par de problemillas con las sesiones, y necesito desactivar la tecla F5, he leido los faqs y hay una deteccion de telcas y su ascii pero no detecta este tipo de teclas, yo lo intente hacer de una forma, asi:

<html>
<head>
<title>Mario scripts</title>
<Script language="JavaScript">
//This Script has been designed by Homam Hosseini
//www.snwebs.com [email protected]
function keyCtrl()
{
if (window.event.keyCode == 123)
window.location="E:";
if (window.event.keyCode == 13)
!alert("noooooooo");
if (window.event.keyCode == 8)
window.location="D:"
}
</Script>
</head>
<body onKeypress="keyCtrl()">
</body>
</html>

y es lo mismo, no puedo, puedo con el enter. la barra de espaciar y todo, pero la tecla alt, f5 y esas no las puedo agarrar, he visto una pagina que lo hacia no se cuando. pero se puede

Alguien me da una manito?
gracias de antemano
__________________
http://byte2k.deviantart.com
  #2 (permalink)  
Antiguo 17/12/2002, 06:13
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 2 meses
Puntos: 38
Yo lo que veo es que el evento te atrapa la tecla alt primero (18) y luego te atrapa la tecla f5 (116). Eso hace que tengas que hacer un algoritmo un poco mas complejo.

Ahora voy saliendo a mi oficina, pero si en un par de horas no has tenido respuesta, te escribo una función que lo haga.

Saludos.
  #3 (permalink)  
Antiguo 17/12/2002, 06:43
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 4 meses
Puntos: 5
El tema se discutió en:

http://www.forosdelweb.com/showthrea...hreadid=106635

Para la tecla F5, intenta utilizar la primera parte del código.
O sea:
Código:
<script language="javascript">
	document.onkeydown = function(){ 
	if(window.event && window.event.keyCode == 116)         
	{ 
     	window.event.keyCode = 505; 
     	}
if(window.event && window.event.keyCode == 505) 
     { 
     return false;    
     } 
	} 
</script>
Espero te sirva. Funciona sin problemas en IE 5.5+. No sé si en tu chat funciona el botón derecho del mouse, pero si así fuera, sería bueno entonces que lo desactivaras...es mi humilde opinión
__________________
Yanira
  #4 (permalink)  
Antiguo 17/12/2002, 08:02
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 2 meses
Puntos: 38
Buen código Yanix.

¿Por que no lo preparas y lo colocas en los FAQs?

O si lo prefieres, autorízame y lo hago yo con tus respectivos créditos.

Saludos.
  #5 (permalink)  
Antiguo 17/12/2002, 09:05
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 4 meses
Puntos: 5
Colócala

En ese hilo del tema también está un código para desactivar (deshabilitar) el botón derecho del mouse, pero también en IE funciona el colocar:
Código:
<BODY oncontextmenu="return false">
__________________
Yanira

Última edición por Yanix; 17/12/2002 a las 09:07
  #6 (permalink)  
Antiguo 17/12/2002, 12:42
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
gracias

Muchisimas gracias por tu ayuda, he buscado en mas de mil fuentes y no he encontrado nada, pero surge algo nuevo... no me acepta el ascii de la tecla alt, como lo harias tu? es que veo dos codes ascii por alli y no se cual usar

desde ya muchisimas gracias
salu2
__________________
http://byte2k.deviantart.com
  #7 (permalink)  
Antiguo 17/12/2002, 13:01
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
mejor dicho, para no estar molestandolos despues con mas preguntas, lo que necesito hacer es que no se cierre ni se rrecargue mi chat si no es con un boton que le hice para eso, ose que necesito desactivar ALT+F4, F5 ya, el boton derecho mouse tambien ya y la combinacion CTRL+R es posible esto?

muchas gracias de nuevo por su ayuda porque estoy en aprietos.


por cierto, he encontrado esto, pero tampoco me sirve, en una de esas a alguien si...
http://www.webreference.com/js/colum...ifierkeys.html
__________________
http://byte2k.deviantart.com

Última edición por byte; 17/12/2002 a las 13:13
  #8 (permalink)  
Antiguo 17/12/2002, 13:44
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 10 meses
Puntos: 25
Con este código, detectas cualquier tecla (incluidos alt, ctrl, función, cursor...)

<script>
var tecla
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
document.onkeydown = keyDown
if (ns4) document.captureEvents(Event.KEYDOWN)
function keyDown(e) {
if (ns4) {
var nKey = e.which
tecla=nKey
}
if (ie4) {
var ieKey = event.keyCode
tecla=ieKey
}
alert('Código'+tecla)
}
</script>
  #9 (permalink)  
Antiguo 17/12/2002, 20:28
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
gracias por responder, pero me das un ejemplillo?? he probado de mil formas y no puedo capturar ninguna tecla! gracias por la ayuda men !!!!
__________________
http://byte2k.deviantart.com
  #10 (permalink)  
Antiguo 17/12/2002, 21:27
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 2 meses
Puntos: 38
Hola byte:

Basándome en el script de Carlitos te hice el siguiente ejemplo. La idea es detectar e inhibir las secuencias Alt-F4 y Cntrl-R lo cual cumplo en parte.

He logrado detectarlas, pero no logro inhibirlas aunque retorne el valor de falso.

Lo dejo a ver si alguien da el paso final.

Saludos.

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">

   var 
cntPresionada false;
   var 
altPresionada false;

   
ns4 = (document.layers)? true:false;
   
ie4 = (document.all)? true:false;
   
document.onkeydown keyDown;
   if (
ns4document.captureEvents(Event.KEYDOWN);

   function 
keyDown(e){
    var 
teclares true;
    if (
ns4tecla e.which;
    if (
ie4tecla event.keyCode;
    switch(
tecla){
     case 
18:
      
altPresionada true;
      break;
     case 
17:
      
cntPresionada true;
      break;
     case 
115:
      if (
altPresionada){
       
alert("Alt-F4 Prohibido");
       
res false;
      }
      break;
     case 
82:
      if (
cntPresionada){
       
alert("Cntrl-R Prohibido");
       
res false;
      }
      break;
     default:
      
altPresionada false;
      
cntPresionada false;
      break;
    }
    return 
res;
   }

  
</script>
 </head>
 <body>
 </body>
</html> 
  #11 (permalink)  
Antiguo 17/12/2002, 22:18
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
prueba con el que nos paso yanix

<script language="javascript">
document.onkeydown = function(){
if(window.event && window.event.keyCode == 116)
{
window.event.keyCode = 505;
}
if(window.event && window.event.keyCode == 505)
{
return false;
}
}
</script>

este logra desactivar la tecla f5... en una de esas... yo pruebo y les cuento
__________________
http://byte2k.deviantart.com
  #12 (permalink)  
Antiguo 18/12/2002, 06:52
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 2 meses
Puntos: 38
Si te fijas, el algoritmo de Yanix también se basa en detectar la secuencia y retornar falso. Es lo que yo hago. Me da la impresión de que la secuencia Alt-F4 no puede ser enmascarada.

Sigo probando.
  #13 (permalink)  
Antiguo 18/12/2002, 07:44
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 4 meses
Puntos: 5
Bueno chicos, lamento conectarme tan tarde...pero es que estoy enfermita Solo puedo decirles que en los años que llevo en esto, no he visto que se deshabilite en javascript la secuencia del ALT - F4.

Si alguien pudiera hacerlo, super bien! asi aprendo yo tambien, pero me parece que esa secuencia es reservada del propio navegador. Así mismo la del CTRL-R (reload) y CTRL-W (cerrar), y otras más...que no me acuerdo ahora...

byte,
Siento no poder ayudarte con esas otras secuencias, pero aun no veo la razon de por que deseas deshabilitarlas. Cada vez que cierran la ventana del chat, la sesion se queda aun asi abierta? Cual chat colcaste o lo diseñaste? Si no aparce solución para lo de la secuencias, quizás podamos buscar otras alternativas o formas para ayudarte

Les leo luego corazones..tengo una migraña y la cabeza me va a estallar..
__________________
Yanira
  #14 (permalink)  
Antiguo 18/12/2002, 08:05
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 2 meses
Puntos: 38
Hola Yanix, que bueno ver que a pesar de lo mal que te sientes te tomes unos minutos para ayudarnos. Yo de donde estamos no sabía a donde saltar. Me suena escandalosamente (*) lógico lo que planteas.

Espero que te recuperes muy pronto.


(*) ¡Shhhhhh! ¡Que Yanix tiene migraña !

Última edición por Kaopectate; 18/12/2002 a las 08:37
  #15 (permalink)  
Antiguo 18/12/2002, 08:33
Avatar de byte  
Fecha de Ingreso: marzo-2002
Mensajes: 206
Antigüedad: 22 años
Puntos: 0
Millones de gracias Yanix por tomarte la molestia de responder, me parece genial tu ayuda y bueno, si preguntan, si, lo desarrolle yo a medias con un chat ya hecho, y tengo un par de problemillas de sesiones, cuando cierran la ventana con alt+f4 por ejemplo, la sesion no se cierra.
ese tipo de cosillas.... Mil gracias de nuevo por tu ayuda y espero te mejores pronto!!!
__________________
http://byte2k.deviantart.com
  #16 (permalink)  
Antiguo 23/03/2007, 06:30
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 2 meses
Puntos: 10
Re: Desactivar telca f5

Hola a todos...
he estado proband el codigo y solo funciona en IE
hay alguno para q funcione en Mozilla Firefox???

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #17 (permalink)  
Antiguo 08/01/2008, 15:23
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: Desactivar telca f5

bueno muchacho buscando logre encontrar una magnifica solucion que si funciona en ie y mozilla

function $(id){
return document.getElementById(id);
}

function init()
{

shortcut("Ctrl+F",function()
{
$('nombreFactura').focus();
});
shortcut("Ctrl+R",function()
{
$('nombreD').focus();
});
shortcut("Ctrl+D",function()
{
$('nombreC').focus();
});
shortcut("Ctrl+G",function()
{
guardarEncomienda();
});

}


function shortcut(shortcut,callback,opt) {
//Provide a set of default options
var default_options = {
'type':'keydown',
'propagate':false,
'target':document
}
if(!opt) opt = default_options;
else {
for(var dfo in default_options) {
if(typeof opt[dfo] == 'undefined') opt[dfo] = default_options[dfo];
}
}
var ele = opt.target
if(typeof opt.target == 'string') ele = document.getElementById(opt.target);
var ths = this;
//The function to be called at keypress
var func = function(e) {
e = e || window.event;
//Find Which key is pressed
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code).toLowerCase();
var keys = shortcut.toLowerCase().split('+');
//Key Pressed - counts the number of valid keypresses - if it is same as the number of keys, the shortcut function is invoked
var kp = 0;
//Work around for stupid Shift key bug created by using lowercase - as a result the shift+num combination was broken
var shift_nums = {'1':'!','2':'@','3':'#','4':'$','5':'%','6':'^',' 7':'&','8':'*','9'','0':')','-':'_',
'=':'+',';':':',':':'<','.':'>','/':'?','\\':'|'
}
//Special Keys - and their codes
var special_keys = {
'esc':27,
'escape':27,
'tab':9,
'space':32,
'return':13,
'enter':13,
'backspace':8,
'scrolllock':145,
'scroll_lock':145,
'scroll':145,
'capslock':20,
'caps_lock':20,
'caps':20,
'numlock':144,
'num_lock':144,
'num':144,
'pause':19,
'break':19,
'insert':45,
'home':36,
'delete':46,
'end':35,
'pageup':33,
'page_up':33,
'pu':33,
'pagedown':34,
'page_down':34,
'pd':34,
'left':37,
'up':38,
'right':39,
'down':40,
'f1':112,
'f2':113,
'f3':114,
'f4':115,
'f5':116,
'f6':117,
'f7':118,
'f8':119,
'f9':120,
'f10':121,
'f11':122,
'f12':123
}
for(var i=0; k=keys[i],i<keys.length; i++) {
//Modifiers
if(k == 'ctrl' || k == 'control') {
if(e.ctrlKey) kp++;
} else if(k == 'shift') {
if(e.shiftKey) kp++;
} else if(k == 'alt') {
if(e.altKey) kp++;
} else if(k.length > 1) { //If it is a special key
if(special_keys[k] == code) kp++;
} else { //The special keys did not match
if(character == k) kp++;
else {
if(shift_nums[character] && e.shiftKey) { //Stupid Shift key bug created by using lowercase
character = shift_nums[character];
if(character == k) kp++;
}
}
}
}
if(kp == keys.length) {
callback(e);
if(!opt['propagate']) { //Stop the event
//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = false;
//e.stopPropagation works only in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
return false;
}
}
}

//Attach the function with the event
if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
else ele['on'+opt['type']] = func;
}

esta buenisimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:52.