Moin!
Ohne Fenster kein Download.
wenn ich beim IE die url in der adresszeile von hand eingebe und den download starte, kann ich das fenster schliessen und der download läuft weiter.
Aber du brauchst das Fenster, um den Download anzustoßen. Es wird ein Request an den Server gesendet, welcher initial zunächst in das Fenster geladen werden soll. Also alte Seite löschen, neue reinpacken.
Dass dann nach Erhalt der HTTP-Header dem Browser klar wird, dass er es mit einem für ihn nicht darstellbaren Mime-Typ zu tun hat, und jetzt besser den Download-Dialog einblenden sollte, widerspricht dem ja nicht.
Und das Problem kann man auch mit einem setTimeout nicht vernünftig lösen. Denn wie gesagt: Ohne Fenster kein Download. Solange der Download also nicht dem "Downloadmanager" (andere Browser als der IE haben Einrichtungen, die diesen Namen verdienen...) übergeben wurde, würde ein Schließen des Fensters den Download killen.
Und das Problem ist: Wie schnell kommt der Download an?
Dauert das eine Sekunde? Wohl länger, selbst mit DSL. Denn mit Pech muß der Nameserver erstmal nach der IP gefragt werden, das dauert drei Sekunden, dann wird der Server kontaktiert - der dummerweise gerade hinter einer sehr ausgelasteten Leitung hängt (weitere 5 Sekunden gehen ins Land), also nicht sofort antwortet, weil er selbst ebenso ausgelastet ist (weitere 4 Sekunden gehen ins Land), um dann endlich, aber unter Paketverlust (also dauert alles länger, als normal - + 6 Sekunden) den HTTP-Header über die ausgelastete Leitung zu senden.
Summe dieser theoretischen Annahme: 3+5+4+6=18 Sekunden.
Mal ehrlich: Das ist ein Wert, den man mit Pech schon mal erleben kann. Erst recht, wenn man mit Modem surft.
Und das dumme ist: Je länger die ganze Sache dauert, desto wahrscheinlicher ist es, dass der Benutzer das Fenster gerade _nicht_ schließen will, weil er mit "Reload" seine Chancen auf einen erfolgreichen Download vielleicht noch verbessern kann. Oder die URL als Bookmark ablegen will, oder sie in einen besseren Downloadmanager kopieren.
Wenn dann also nach zehn Sekunden das Downloadfenster geschlossen wird, ist das mehr als ärgerlich.
Und deshalb sollte man sowas ganz einfach lassen.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)