Server mit Javascript prüfen
Kann man einen Server mit JS prüfen?
Ja, das geht, wenn man die URL eines Bildes auf dem Server kennt. Dazu kann man den onload bzw. onerror Eventhandler des Image Objektes benutzen, die Funktion könnte so aussehen:
javascript
function check(url) { |
if(!url || !document.images) return |
var img = new Image(); |
img.onload = function () { |
alert('Das Bild konnte geladen werden der Server ist online!'); |
document.images[testBild].src = this.src; |
}; |
img.onerror = function () { |
alert('Das Bild konnte nicht geladen werden!'); |
document.images[testbild].src = this.src + '?' + Math.random(); |
} |
img.src = url; |
} |
Mit Hilfe von Math.random() wird bei jedem Aufruf eine neue URL erstellt, damit die Datei immer vom Server geholt wird und nicht aus dem Cache des Browsers.
Es läßt sich aber auch direkt in ein Bild im HTML Code integrieren, z.b. so:
html
<img src="http://server.lt/online.gif" |
onerror="if(!this.check) {this.check = true; this.src = 'offline.gif';}"
|
alt =""> |
Beispiel

Comments (4)
4576 mal gelesen.
4576 mal gelesen.


4 Kommentare Einen Kommentar hinterlassen »
Kommentare
Dienstag 13.März 2007: 23:51
[...] Du kannst überprüfen, ob eine Grafik auf einem fremden Server erreichbar ist: [Javascript ist Toll!] > Server mit Javascript prüfen [...]
Donnerstag 2.Juli 2009: 9:14
Hallo,
herzlichen Dank für diese tolle Anleitung. Konnte ich gut gebrauchen!
Grüße aus dem lieblichen Taubertal
Stefan
Mittwoch 20.Januar 2010: 11:05
Hallo
Zuerst einmal vielen Dank für die super Anleitung. Anhand dieses Beispiels habe ich eine kleine Seite geschrieben, welche mir die Verfügbarkeit einer Servers prüft und sich selber dabei aktualisiert. Der Code ist unten angehängt. Leider habe ich nun Probleme beim Laden der Seite, wenn diese lokal auf meinem System liegt und über einen Doppelklick auf die Datei, oder über einen Link direkt im FF geladen wird. Unter IE funktioniert alles. Wenn die Seite einmalig geladen ist wird auch der richtige code durchlaufen. Nur wenn der Browser die Seite über einen direkten Doppelklick auf die html-Seite lädt tritt dieses Fehlverhalten auf.
Vieleicht hat jemand eine Idee an was dies liegen könnte oder schon eine Idee wie man das umgehen kann.
Vielen Dank schon mal im Voraus und Grüße,
maugenst
Hier der Code der Startpage ... startseite.html:
[code]
Startseite
body {
font-family: Arial, Helvetica;
}
function Reload() {
this.location.reload();
}
function reportError() {
window.setTimeout("Reload()",2000);
document.getElementById("status").innerHTML = "Server startet... Bitte gedulden Sie sich einen Moment...";
}
function Forward() {
window.location.href = "http://localhost:8080/xyz";
}
function reportSuccess() {
window.setTimeout("Forward()",2000);
document.getElementById("loaderAnimation").style.visibility = "hidden";
document.getElementById("status").innerHTML = "Server ist jetzt erreichbar. Sie werden in wehnigen Momenten weitergeleitet.";
}
ACHTUNG: Sie werden automatisch zur Eingabeseite weitergeleitet.
Server startet... Bitte gedulden Sie sich einen Moment...
Falls Sie direkt navigieren möchten klicken Sie bitte folgenden Link:
Flohmarkt Eingabe
[/code]
Mittwoch 20.Januar 2010: 11:36
Der Cache war das Problem .... Fix gefunden:
document.images["checkGif"].src = 'http://localhost:8080/xyz/check.gif' + '?' + Math.random();
Einen Kommentar hinterlassen