Gracias por responder de tan buena y dedicada manera Paynalton. Trabajé bastante para hacer funcionar el código que me proporcionaste, pero lamentablemente no he podido conseguir el resultado esperado. Cuento lo que he hecho con la idea de obtener un poco más de ayuda, porque no consigo dar con la manera de hacer lo que necesito:
1.- En primer lugar cambié el archivo php de destino que me propones (recibe.php) por (download.php)
Código Javascript
:
Ver originallocation.href=".../download.php?archivo="+archivos[indiceActual];//llamamos a la descarga en turno
El código que puse en "download.php" es el siguiente:
Código PHP:
Ver original<?php
if (!isset($_GET['archivo']) || empty($_GET['archivo'])) { }
$root = ".../ExcelFiles/";
$path = $root.$archivo;
$type = '';
$type = "application/force-download";
header("Content-Type: $type"); header("Content-Disposition: attachment; filename=$archivo"); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . $size);
?>
2.- Revisando la aplicación con FireFox y usando FireBug, puedo ver que todo marcha bien hasta llegar a la línea:
Código Javascript
:
Ver originaldescargame=function()//definimos la función que se encargará de ...
pero nunca entra a evaluar la condición puesta a continuación y termina lléndose directamente a la línea:
Código Javascript
:
Ver originaldownloader=setInterval(descargame,1000);// aqui definimos el intervalo
3.- Escribí la funcion "descargame" separada de "TestFunction", pero la llamo desde aquí con "descargarme ()" De esta manera sí puedo entrar a la función, pero nunca se cumple la condición del "if" de manera que tampoco consigo hacer nada.
Código Javascript
:
Ver original<script language="JavaScript" type="text/JavaScript">
function descargame()//definimos la función que se encargará de llamar a las descargas.
{
if(archivos[indiceActual])
{
location.href=".../download.php?archivo="+archivos[indiceActual];//llamamos a la descarga en turno
}
else
{
indiceActual=1;
archivos=new Array();
clearInterval(downloader);//una vez que se han descargado todos, eliminamos el intervalo y limpiamos las variables
}
}
downloader=setInterval(descargame,1000);// aqui definimos el intervalo con un espacio de 1 segundo entre una descarga y otra.
</script>
Ojalá me puedan ayudar un poco más, porque solo no consigo hacer lo que necesito. Gracias por todo