Foros del Web » Programando para Internet » Javascript »

¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva?

Estas en el tema de ¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva? en el foro de Javascript en Foros del Web. Hola! Ante todo, saludos a tod@s. Ya hace algún tiempo que soy miembro de esta web, pero hasta ahora siempre la había utilizado como consulta, ...
  #1 (permalink)  
Antiguo 08/03/2007, 02:38
 
Fecha de Ingreso: agosto-2005
Mensajes: 10
Antigüedad: 18 años, 8 meses
Puntos: 0
Pregunta ¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva?

Hola!

Ante todo, saludos a tod@s. Ya hace algún tiempo que soy miembro de esta web, pero hasta ahora siempre la había utilizado como consulta, sin necesidad de postear hasta hoy.

He estado buscando por todos lados, pero no he encontrado (o no he sabido encontrar) justo lo que necesito. A ver si me explico bien....

Necesito que cuando un usuario haga click en una imagen que inserto dinamicamente en la web, se proceda a descargar el documento relacionado. No me sirve poner una etiqueta <a href="url"...><img></a>, porque esa opción abre el documento en la propia ventana, y lo que yo quiero es que directamente haga la descarga del archivo. Tampoco me sirve un window.open, porque el comportamiento es idéntico al anterior, sólo que en una nueva ventana.

No se si me he explicado bien, pero sino lo puedo volver a probar... total, ¿es posible realizar una descarga directamente sin que abra el documento en el navegador?.

De antemano, muchas gracias.
  #2 (permalink)  
Antiguo 08/03/2007, 02:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: ¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva?

Hola makokibcn, bienvenido a los foros :

La verdad es que para descargar archivos se suelen usar archivos comprimidos en zip, de otra manera, si el navegador "reconoce" el tipo de fichero, tratará de abrirlo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/03/2007, 03:45
 
Fecha de Ingreso: agosto-2005
Mensajes: 10
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: ¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva?

Muchas gracias caricatos, por tu respuesta y por tu bienvenida también

Creía que habría alguna manera - humana - de que IE tuviera un comportamiento tipo Mozilla, que al hacer click sale el cuadro de diálogo de "guardar" o "abrir con....". Pero ya veo que no es posible, a no ser que de alguna manera consiga convencer a los usuarios que opten por archivos .zip.

Quizá opte por abrir una nueva ventana con window.open, y cambiarle dinamicamente el title... cómo mínimo lograré ocultar la url desde donde se descarga....

En fin, muchas gracias otra vez.
  #4 (permalink)  
Antiguo 08/03/2007, 06:39
 
Fecha de Ingreso: agosto-2005
Mensajes: 10
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: ¿Cómo realizar una descarga y que no se abra el documento en una ventana nueva?

Bueno, digamos que casi lo tengo..... tengo el siguiente código:

// creo la imagen dinamicamente
new_img=document.createElement('image');
new_img.src='img/'+nom_imagen;
new_img.alt=des_imagen;
new_img.url='documentacion/'+nom_archivo;
new_img.style.cursor='pointer';
document.getElementById('divimagen').appendChild(n ew_img);
// hago el download... o casi
new_img.onclick=function()
{ var archivo=window.open(this.url,'descarga','menubar=y es,location=no,resizable=yes,scrollbars=yes,status =no');
var docarchivo=archivo.document;
docarchivo.title='Descarga de documento';
}

Cambiar el título lo cambia, el problema es que cuando el documento acaba de cargarse (es decir, cuando se muestra el documento word, o excel, o cualquier otro que el navegado interprete), el explorador vuelve a cambiar el título de la página y le asigna, de nuevo, la URL.

¿Alguna sugerencia o idea?

Gracias de nuevo!
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 06:13.