JavaScript: Detectar el final de una descarga

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:

function descargar(url) {
window.onfocus = finalizada;
document.location = url;
}
function finalizada() {
window.onfocus = vacia;
// Modificar a partir de aquí
alert()
}
function vacia(){}

Para iniciar una descarga haremos:

<a href="javascript:descargar('archivo.exe')">Descargar el archivo</a>

Fuente

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s