En un sitio web basado en PHP, deseo enviar a los usuarios un paquete de descarga después de haber completado un breve formulario. La descarga iniciada por el sitio debe ser similar a sitios como download.com, que dicen "la descarga comenzará en un momento".¿La mejor manera de iniciar una descarga?
Un par de enfoques posibles que sé de, y la compatibilidad del navegador (basado en una prueba rápida):
1) Haz una window.open
apuntando al nuevo archivo.
- FireFox 3 blocks this.
- IE6 blocks this.
- IE7 blocks this.
2) Crear un iframe que apunta al nuevo archivo.
- FireFox 3 seems to think this is OK. (Maybe it's because I already accepted it once?)
- IE6 blocks this.
- IE7 blocks this.
How can I do this so that at least these three browsers will not object?
Bono: ¿existe un método que no requiere declaraciones navegador condicional?
(. Creo que download.com emplea ambos métodos en forma condicional, pero no puedo obtener ya sea uno a trabajar)
Respuestas y Aclaraciones:
Q: "Why not point the current window to the file?"
A: That might work, but in this particular case, I want to show them some other content while their download starts - for example, "would you like to donate to this project?"
ACTUALIZACIÓN: Tengo abandonado este enfoque. Vea mi respuesta a continuación por razones.
I * hate * those. Tengo que esperar unos segundos para descargar, que a veces toma 1 segundo. Mi navegador guarda las sesiones de navegación, lo que significa que los archivos comienzan a aparecer de ninguna manera cuando reinicio el navegador. No puedo copiar el enlace o tengo que buscar "haga clic aquí si ..." en la página y detener la descarga automática. – Kornel
De acuerdo, pero fue lo que pidió inicialmente. – Soldarnal