Javascript ist Toll!

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:

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:

<img src="http://server.lt/online.gif"
onerror="if(!this.check) {this.check = true; this.src = 'offline.gif';}"
alt ="">

Beispiel

Gib eine URL ein :

ähnliche Artikel

  • 18. November 2011 -- LED Editor (1)

    LED Scroller Chareditor Dieses Skript dient zum...

  • 13. May 2009 -- String Erweiterungen (5)

    Eine der Eigenschaften von Javascript, die sie von...

  • 29. April 2009 -- Online Molmassen Rechner (29)

    Ein kleines Javascript aus der Welt der Chemie. Der...

Comments (7)
1910 mal gelesen.

7 Kommentare

Leave a comment »

Seiten:

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

2. Comment von: Stefan
2. July 2009: 9:14

Hallo,

herzlichen Dank für diese tolle Anleitung. Konnte ich gut gebrauchen!

Grüße aus dem lieblichen Taubertal
Stefan

3. Comment von: maugenst
20. January 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. Comment von: maugenst
20. January 2010: 11:36

Der Cache war das Problem …. Fix gefunden:

document.images[“checkGif”].src = ‘http://localhost:8080/xyz/check.gif’ + ‘?’ + Math.random();

5. Comment von: mel brooks
18. February 2012: 12:27

toll, tohl, tooll

6. Comment von: olyman
7. July 2013: 19:19

Hallo,
habe auch Probleme mit dem Cache.

Frage, wie rufe ich die function check(url) auf damit,
wenn url=”http://anderedomain/online.jpg” existiert “http://anderedomain/online.jpg” anzeigen,
wenn nicht existiert url=”http://meinedomain/offline.jpg” anzeigen.

function check(url) {
if(!url || !document.images) return
var img = new Image();
img.onload = function () {
document.images[“checkGif”].src = this.src;
};
img.onerror = function () {
document.images[“checkGif”].src = this.src + ‘?’ + Math.random();
}
img.src = url;
}

7. Comment von: struppi
7. July 2013: 19:47

Am besten direkt im HTML, so wie beschrieben:


<img src="http://anderedomain/online.jpg" onerror="this.src='http://meinedomain/offline.jpg'">

Leave a comment

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

Folgende HTML Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



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