Javascript ist Toll!

FAQ > Javascript

13. September 2005 - 10:36

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

Gib eine URL ein :

Comments (4)
4576 mal gelesen.

4 Kommentare Einen Kommentar hinterlassen »

Kommentare

[...] Du kannst überprüfen, ob eine Grafik auf einem fremden Server erreichbar ist: [Javascript ist Toll!] > Server mit Javascript prüfen [...]

2. Kommentar von Stefan
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

3. Kommentar von maugenst
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]

4. Kommentar von maugenst
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

Name (erforderlich)
Mail (wird nicht angezeigt) (erforderlich)
Website

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful Browser-Statistiken