dedlfix: Javascript Überprüfung ob Datei vorhanden

Beitrag lesen

Tach!

Du kannst das nicht in einem simplen if-else-Zweig verarbeiten. Um festzustellen, ob eine Datei vorhanden ist, musst Du sie mit JS anfordern, damit der Browser sie lädt. Das kann man im Hintergrund mit AJAX machen (XmlHttpRequest nennt sich das erforderliche Werkzeug). Je nach Rückmeldung dieses Vorgangs, der sicher einige (Milli-)Sekunden benötigt, kannst Du dann entsprechend reagieren.

Mir ist da neulich die Fetch API über den Weg gelaufen. Damit ist ein Ajax-Request fast so simpel wie ein if-else.

fetch(url, {method: 'HEAD'}) // in dem Fall nicht die gesamte Resource laden sondern nur den HTTP-Header
  .then(function(response) {
	
  })
  .catch(function(err) {
	// Error :(
  });

Man muss dazu nur das Promise-Konzept kennen, und dann wissen, dass alles was vom Ergebnis des Fetchens abhängig ist nicht unterhalb des fetch()-Aufrufs stehen kann, sondern innerhalb der bei then() übergebenen Funktion, beziehungsweise aus ihr heraus aufgerufen werden muss.

dedlfix.