Hi,
gibt es eine möglich keit zu überprüfen ob eine Datei vorhanden ist oder nicht?? z.B. ein Bild.
Das ganze muss nur im Netztwerk funktionieren und sollte ohnen Server auskommen. Das Ziel ist, das es eine Seite gibt, auf der Links für jeden Tag des Monats sind. Außerdem gibt es für jeden Tag einen Ordner. Wenn ich jetzt eine Datei in dem entsprechenden Ordner speichere soll der Link eine andere Farbe haben und das Bild anzeigen. Wenn der Ordner leer ist soll der link grau sein und wenn man draufklickt soll sich eine andere Seite öffnen auf der steht dass das Bild noch nicht verfügbar ist.
Zur Zeit hab ich das ganze so gelöst, das in jedem Ordner ein Bild mit dem Vorgegebenen Namen ist, dass den entsprechenden Text zeigt. Dieses Bild ersetzte ich dann immer durch das aktuelle Bild. Das Verbrauch aber Speicher. Das würd es irgentwann sowieso, aber bis die aktuellen Bilder da sind, brauch ja kein Platz verschwendet werden.
Ich weiß ja nicht, was du mit "verbraucht Speicher" meinst, aber solange deine Bilder nicht x MB groß sind ist das heutzutage kein Problem. Oder hats du noch einen 286'er?
Wenn du aber trotzdem denkst, dass dein vorhaben sinvoll ist, musst du asynchron arbeiten, da du im Browser nicht auf das Dateisystem des Servers zugreifen kannst, sondern nur eine Anfrage senden und dann musst du warten ob was passiert. dazu dienen die Events onerror/onload
Ein kurzes ungetestetes Beispiel:
function checkBild(url)
{
var bild = new Image();
bild.onerror = fehler;
bild.onload = ok;
bild.src = url;
}
function fehler()
{
alert(this.src + ' existiert nicht');
//und hier kannst du dann machen was du bei einem Fehler machen willst
}
function ok()
{
alert(this.src + ' existiert');
//und hier was du bei der existienz des Bildes machen willst.
}
Das funktioniert soweit analog auch mit dem HTML Tag, doch dabei musst du schwer aufpassen, denn wenn du sowas machst:
<img src="bild1.gif"
onerror="this.src='bild2.gif'">
kriegst du eine Endlosschleife falls bild2.gif nicht existiert aus welchen Grund auch immer.
Struppi.