Auto-start-Datei herunterladen nach dem senden des Formulars
Ich habe ein web-Formular, das dem Benutzer die vollständige online. Wenn Sie drücken Sie senden, wird es anfangen, herunterladen einer Datei für Sie.
Im moment, ich Bearbeite das Formular und erzeugen Sie eine geeignete Datei für den Benutzer und Feuer ihn mit passenden überschriften. eg...
header('Content-type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="yourfile.txt"');
header("Content-Transfer-Encoding: binary");
Da dies jedoch ein download gestartet, sofort die ursprüngliche form ist Links auf dem Bildschirm, indem Sie den browser.
Ich würde wirklich gerne mal einige "Danke" - Bildschirm, sobald der download abgeschlossen ist (oder bevor der download startet). Ich weiß, dass es möglich ist, weil fast jeder download-site, die Sie besuchen, tut dies (normalerweise Pumpen Sie voll von Werbung sind, bevor der download startet).
So, Wie zeige ich eine "Danke" - Bildschirm startet der download nach einer Sekunde?
Wie würde jede vorgeschlagene Lösung Wirkung, die das Verhalten der zurück-Taste, da ich nicht möchte, dass die Datei erneut zu downloaden, ohne das Formular nicht wieder aufgefüllt wird?
Bin ich mit PHP auf dem server und können verlassen sich auf Javascript (und jQuery) wird auf dem client verfügbar.
Danke.
InformationsquelleAutor Rik Heywood | 2009-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie schicken das Formular an die Danke Dokument ein und setzen Sie dort ein META-refresh zu den Datei-download:
Haben Sie setzen
meta
inhead
undp
inbody
?InformationsquelleAutor Gumbo
Fügen Sie eine zweite Seite, die etwas sagt "danke, Ihr donwnload startet in wenigen Sekunden" und löst den download mit javascript:
oder verwenden Sie ein meta-redirect.
Naja, wie Ihr sehen könnt, mein Kommentar zu Gumbo ' s post, ich selbst bevorzuge META-redirect. Allerdings war ich Art von Irreführung durch die OP ' s "kann verlassen sich auf Javascript (und jQuery)". Jedoch, einige Template-system machen es schwer zu injizieren Zeug in den <head>. Also manchmal JS könnte eine option sein.
Sollten in den header zu. AFAIK javascript in den Körper sind illegal.
Nein, JS im body ist völlig in Ordnung. Siehe, z.B., Google Analytics.
InformationsquelleAutor middus
Können Sie einen versteckten iframe in Ihre Seite ein und senden Sie Ihr Formular, um das iframe.
InformationsquelleAutor