Automatischer Download
Download automatisch starten
Man kennt es von vielen Seiten - man klickt auf den Download-Link und eine Seite erscheint die einen freundlich darauf hinweist das der Download in wenigen Sekunden beginnt. In diesem Workshop zeige ich 2 Methoden dieses zu verwirklichen.
Methode 1 - Meta-Tag
Man kann mit sogenannten Meta-Tags nicht nur Author einer Seite, Suchbegriffe und ähnliches festlegen, sondern auch ein Aktualisierungsinterval oder eine Weiterleitung.
Der Meta-Tag muss zwischen den <head> und </head>-Tags eingebaut werden und ist so aufgebaut:
<head>
<meta http-equiv="refresh" content="ZEITSPANNE BIS DIE WEITERLEITUNG BEGINNT IN SEKUNDEN; URL=WEITERLEITUNGS-ADRESSE">
</head>
Wenn man jetzt möchte das ein Download der Datei test.exe nach 2 Sekunden beginnt erstellt man folgenden Meta-Tag:
<head>
<meta http-equiv="refresh" content="2; URL=test.exe">
</head>
Es ist auch möglich den Download sofort zu starten - ohne Wartezeit. In diesem Fall einfach 0 als Zeitspanne angeben.
Methode 2 - Unsichtbares Frame
Um wirklich ganz sicher zu gehen kann man einen Frameset benutzen, welches mittlerweile wirklich von jedem Browser verstanden werden müsste.
Allerdings kein normales, wie man es von vielen Seiten kennt. Es gibt einen Trick. Die obere Zeile nimmt 100% der Seite ein und stellt die Seite mit dem Hinweis dar, dass er Download gleich beginnt. Die untere Zeile ist ein unsichtbares Frame, da es eine Größe von 0% hat. In ihr wird versucht die Datei, um beim Beispiel von oben zu bleiben, test.exe, darzustellen. Da der Browser erkennt das es sich um eine Datei handelt die er nicht darstellen kann wird der Download gestartet.
So ist es aufgebaut:
<frameset rows="100%,0%" frameborder="0" framespacing="0" border="0">
<frame src="URL DER SEITE MIT DEM DOWNLOAD-STARTET-HINWEIS">
<frame src="URL DES DOWNLOADS">
</frameset>
Und ein Beispiel:
<frameset rows="100%,0%" frameborder="0" framespacing="0" border="0">
<frame src="downloadstartet.html">
<frame src="test.exe">
</frameset>
Bei dieser Methode ist es nicht möglich eine Zeitspanne festzulegen bevor der Download beginnt.