file scaricare avvio automatico dopo modulo di presentazione
-
19-09-2019 - |
Domanda
Ho una forma web che gli utenti online completo. Quando si preme presentare inizierà un file di download per loro.
Al momento, ho elaborare l'invio del modulo e generare un file adatto per l'utente e il fuoco fuori con le intestazioni adatte. ad esempio ...
header('Content-type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="yourfile.txt"');
header("Content-Transfer-Encoding: binary");
Tuttavia, poiché questo inizia un download subito, la forma originale viene lasciato sullo schermo dal browser.
Mi piacerebbe davvero andare in qualche schermata "Grazie" una volta completato il download (o prima che il download si avvia). So che è possibile, perché quasi ogni sito di download che si visita lo fa (normalmente di pompare il pieno di annunci prima che il download si avvia).
Quindi, Come faccio a visualizzare una schermata "Grazie" che avvia il download dopo un secondo?
Come qualsiasi soluzione sarebbe proposto effetto il comportamento del pulsante Indietro, come io non voglio che il download del file di nuovo senza la forma essere riempito?
Sto usando PHP sul server e posso contare su JavaScript (e jQuery) essendo disponibile sul client.
Grazie.
Soluzione
Si potrebbe inviare il modulo al Grazie del documento e messo lì un meta refresh per il download del file:
<meta http-equiv="refresh" content="3;url=download.php">
<p>Thank you! The download will start in 3 seconds. If not, use this link to download the <a href="download.php">file</a></p>
Altri suggerimenti
Aggiungere una seconda pagina che dice qualcosa "grazie, il download inizierà in pochi secondi" e fa scattare il download utilizzando JavaScript:
$(document).ready(function(){
window.setTimeout(function(){
window.location = 'http://yourdownloadhost.com/file.zip';
}, 1500);
});
o utilizzare una meta di reindirizzamento.
È possibile inserire un iframe nascosto nella tua pagina e inviare il modulo a questo iframe.