maugenst: IMG - OnError/OnLoad - Browserproblem

Beitrag lesen

Hallo

Ich habe ein Problem, bei welchem ich eventuell einen Tipp aus der Community benötige. Zuerst einmal kurz über den Hintergrund des Problems:

Ich möchte in einer statischen lokalen Webseite mittels der OnError/OnLoad methode auf dem <img> tag prüfen, ob ein Webserver schon hochgefahren werden konnte, oder ob er gerade noch lädt. Die Idee hierzu kam mir über die Beschreibung auf: http://javascript.jstruebig.de/javascript/42/. Jetzt zeigt sich aber leider das Verhalten, dass Firefox beim Laden der Seite mittels eines Shortcuts (startseite.lnk --> startseite.html) oder über direkten Klick auf die html-Seite, auch wenn der Server noch nicht da ist die onload() Methode aufruft. Ich bin mir nicht sicher an was genau dies liegen kann. Das Verhalten ist unter IE nicht zu beobachten.

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:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">  
<title>Startseite</title>  
<style type="text/css">  
body {  
	font-family: Arial, Helvetica;  
}  
</style>  
<script type="text/javascript">  
  
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.";  
}  
</script>  
</head>  
<body>  
  
<center>ACHTUNG: Sie werden automatisch zur Eingabeseite weitergeleitet. <br>  
<br>  
<img id="loaderAnimation" src="ajax-loader.gif">  
<br>  
<div id="status">Server startet... Bitte gedulden Sie sich einen Moment...</div>  
<br>  
Falls Sie direkt navigieren möchten klicken Sie bitte folgenden Link:<br>  
  
<a href="http://localhost:8080/xyz">Flohmarkt Eingabe</a></center>  
  
<img src="http://localhost:8080/xyz/check.gif"  
	style="width: 0; height: 0; visiblity: hidden; position: absolute;"  
	onerror="reportError()" onload="reportSuccess()">  
  
</body>  
</html>