Wie baue ich in HTML das download-Attribut richtig ein?

2 Antworten

Sofern du deine Webseite testest, ohne sie dafür über einen Webserver ausspielen zu lassen (in der Adresszeile hättest du folglich eine file:///-Adresse), wird dein Browser die Anzeige des Download-Dialogs verhindern.

Benutze für Tests also auch einen Webserver. Sei es der IIS (Windows), der Apache Server aus dem Softwarepaket XAMPP, ein einfacher Node.js-Server oder irgendein anderer.

SalbertAmHof 
Fragesteller
 03.02.2022, 09:42

Warum funktioniert es nicht, wenn ich meine Webseite lokal aufrufe? Kostet ein Webserver nicht etwas?

0
regex9  03.02.2022, 11:56
@SalbertAmHof

Es dürfte mit der Same-Origin-Policy zusammenhängen. Der Download setzt voraus, dass die Datei von derselben Domain kommt. Wenn das HTML-Dokument allerdings über das file:///-Protokoll geladen wird, kann der Browser keine Domain erkennen.

Die von mir genannten Optionen sind allesamt kostenlos. Es handelt sich um Anwendungen, die du auf deinem Rechner installierst. Das heißt, die Webseite lässt sich durchaus lokal testen, aber eben nur über den Webserver.

Auf Windows reicht eine Standardinstallation der IIS-Features. Lediglich Abschnitt 1 und 3 dieses Artikels sind dafür relevant. Entweder du kopierst dir deine Seite danach in das Verzeichnis der Default-Webseite und rufst sie im Browser via http://localhost/deineseite.html auf oder du gehst noch weiter und erstellst im IIS Manager noch eine eigene Site (lies hier; nur Schritt 1-7, das HTTP-Protokoll sollte genügen) mit eigener Domain. Die gewählte Domain sollte in der hosts-Datei (lies hier) eingetragen werden:

127.0.0.1 deine-domain

Öffne danach deinen Browser und rufe die Seite über die Domain auf http://deine-domain/deineseite.html.

Noch zur zweiten Option (Apache-Webserver): XAMPP installieren und über das Control Panel den Apache Server starten. Deine Webseite legst du in das htdocs-Verzeichnis (das liegt im XAMPP-Installationsordner). Wenn du eine eigene Domain (statt localhost) verwenden möchtest, lies hier. Ansonsten erfolgt der Aufruf im Browser wie schon bei der IIS-Option über http://localhost/deineseite.html.

0

Modernizer Javascript eingebunden? Kann sein, dass dies noch nicht von allen Browsern unterstützt wird.

SalbertAmHof 
Fragesteller
 03.02.2022, 09:41

Ich arbeite nicht mit JavaScript.

0
SalbertAmHof 
Fragesteller
 03.02.2022, 11:50
@Alfi1986

Du meinst, einen Wert für das Attribut download angeben? Ja, das hab ich schon versucht. Funktioniert leider auch nicht. Im Video wird auch erklärt, dass das optional ist, wenn der Web-Entwickler möchte, dass die Datei unter einem bestimmten Namen gespeichert werden soll. (Auch Änderung der extension möglich) Ich denke wirklich, dass es nicht funktioniert, weil die Webseite nicht über einen Server aufgerufen wird. regex9 erklärte dies auch schon.

0