Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Detectar Hot Keys Google Chrome

Estas en el tema de Detectar Hot Keys Google Chrome en el foro de Javascript en Foros del Web. Qué tal, espero me puedan ayudar, ya he buscado en muchos foros y no encuentro como hacer que funcione lo siguiente: Tengo este código el ...
  #1 (permalink)  
Antiguo 11/09/2013, 22:24
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Detectar Hot Keys Google Chrome

Qué tal, espero me puedan ayudar, ya he buscado en muchos foros y no encuentro como hacer que funcione lo siguiente:

Tengo este código el cual utilizo para detectar cuando el navegador del lado usuario presionó la combinación de teclas alt+f4 o ctrl+f4

$(document).keydown(function(e)
{
if(e.ctrlKey && e.keyCode == 115) // ctrl + f4
alert ('presionaste ctrl + f4 ') ;
});

Todo va de maravilla en IExplorer y Firefox, pero no funciona en Chrome, en lugar de enviarme el alert, me cierra la ventana.

Les explico un poco más lo que necesito, tengo una web que carga archivos temporalmente a un directorio de mi servidor (preload) y los mueve de lugar (upload) una vez que el usuario ha hecho clic en el botón de guardar en la página web, el detalle es que si el usuario por alguna razón, cierra el navegador, o va a otro link o hace post back, los archivos se mantienen en el directorio preload y no se completa el ciclo de carga formal de los archivos adicionalmente la acumulación de archivos en el directorio preload es severa, por lo que se me ocurrió que si detecto estos eventos, me es posible eliminar los archivos del directorio preload, pero no consigo hacer que este código funcione en Chrome insisto.

Mi web está desarrollada con javascript + php + jquery

Ojala me puedan ayudar.
  #2 (permalink)  
Antiguo 12/09/2013, 14:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Detectar Hot Keys Google Chrome

Bueno, pues no encontre solucion a como hacer jalar este codigo en Google Chrome, por ahi estuve leyendo en un foro y parece que la funcionalidad del uso de combinacion de teclas en cada navegador es una cuestion del desarrollador y en este caso, la combinacion de teclas que yo queria detectar, hace una funcion por default, cierra la ventana, no hay manera de detectar con ningun codigo este evento, al menos para Chrome.

Finalmente, lo que pretendo hacer, lo resolvi con esto:

<script type="text/javascript">
window.onbeforeunload = function()
{
$.ajax(
{
type: "GET",
url: "php/cierrenavegador.php",
dataType: "script",
async:false
});
</script>

Ejecuta un script php en el evento onBeforeunload de cualquier navegador, y esto es lo que hace el archivo php:

<?php
unlink("ruta/archivo.ext");
?>

Y asi de esta manera, siempre que se cierre la ventana con ctrl+F4 o Alt+F4, se refresque con el boton del navegador o presionando F5, o se haga post back, si en el cliente no se ha presionado el boton guardar, se eliminan los posibles archivos que agrego en preload.

Espero a alguien mas le sirva.

Etiquetas: chrome, funcion, google, jquery, keys, php
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 18:27.