Vamos a ver como podemos saber cuando ha finalizado una descarga iniciada en nuestra página usando un sencillo procedimiento.
Este procedimiento se basa en que al empezar la descarga, la página perderá la captura del mouse, ya que la ventana emergente de descarga será la que estará en primer plano, de esta manera cuando finaliza la descarga, o cuando el visitante la cancele, la página volverá a estar activa ganando la captura del mouse de nuevo.
De esta manera, podemos saber cuando ha finalizado la descarga usando
el evento onfocus del objeto window de nuestro navegador, para que todo
funcione correctamente utilizaremos las siguientes funciones:
<script>
function descargar(url) {
window.onfocus = finalizada;
document.location = url;
}
function finalizada() {
window.onfocus = vacia;
// Modificar a partir de aquí
alert()
}
function vacia(){}
</script>
La funcion descargar se encarga de hacer descargar la URL pasada a la
funcion y de llamar a la funcion finalizada cuando acabe la descarga,
esta funcion realizará las operaciones deseadas al finalizar la
descarga, vacia es una funcion de soporte vacía nescesaria para
que todo funcione correctamente.
Para iniciar una descarga haremos:
<a href="javascript:descargar('archivo.exe')">Descargar
el archivo</a>
Aunque también podremos llamar a la funcion descargar desde un
botón, una funcion o de cualquier manera que deseemos.
Por Eloi de San Martín
www.programacionweb.net
Usuarios que han visto este tema también han visto...
- Expresiones Regulares en JavaScript
- Efecto Nieve
- Mensaje en la barra de estado al pasar el ratón por encima con JavaScript
- CountryPoints, paises por puntos para Google Maps
- Imprimir página con JavaScript
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.