Internet-Verbindung prüfen
Steffen
- javascript
Hallo Leute,
ich habe eine CD-Rom, die auf HTML basiert, diese enthält den gleichen Inhalt wie eine Website.
Bestimmte Dinge funktionieren naturgemäß offline nicht (z.B. e-mail Form).
Ich bräuchte nun ein JavaScript, welches prüft, ob eine Internet-Verbindung da ist, wenn nicht, dann soll das e-mail Formular nicht eingeblendet werden.
Ich habe schon versucht ein image direkt von der website zu laden und dann mit images.complete zu prüfen ob es geladen wurde, hab es aber nicht hinbekommen weil ein Teil des HTML-Codes bereits geschrieben ist und dann kann ich mit JavaScript nicht mehr ins gleiche Fenster schreiben, oder?
Danke.
Gruss
Steffen
Hallo,
Ich habe schon versucht ein image direkt von der website zu laden und dann mit images.complete zu prüfen ob es geladen wurde,
eine direkte Ausfrage (spezieller Befehl) für dein Problem dürfte es in JS nicht geben, weshalb lädst du den Teil, der offline nicht angezeigt werden soll, nicht komplett aus dem Netz. So bekommt ein User, der nicht online ist, beispielsweise dein Email-Formular gar nicht zu sehen.
Ciao
Liza
Hi Liza,
danke für die schnelle Antwort, wäre als fallback ne Möglichkeit.
Das Problem ist, wenn das Formular ne eigene Seite hat, dann bleibt die komplett leer. Ich hätte schon gerne, daß dann wenigstens kommt "Bitte stellen Sie eine Internet-Verbindung her".
Gruss
Steffen
Hallo,
Ich hätte schon gerne, daß dann wenigstens kommt "Bitte stellen Sie eine Internet-Verbindung her".
machen doch die meißten Browser bzw. Einwahlprogramme default-mäßig selber, wenn eine Seite aus dem Netz aufgerufen werden soll und der Rechner offline ist.
Vielleicht hilft dir aber, wenn du anstelle des Formulars eine Seite aufrufst, auf der dein Ttext steht (also: "Bitte online gehen.") und diese Seite wiederum mittels eines meta-refresh automatisch nach 0 sek. dein Formular aufruft. So dürften die Leute, die Online sind, die zwischengeschaltete Seite kaum bemerken, Offliner bleiben bei ihr jedoch "hängen".
Aber auch bei dieser Lösung, wirst du wahrscheinlich bei den meißten Anwendern am Rechner ein vom Einwahlprogramm (Windows allg. DFÜ-Netz) erzeugtes Fenster sehen, das den Anwender auffordert, sich einzuwählen.
Ciao
Liza
Hi Liza,
gute Idee!! Danke schön.
Noch eine Frage zu Deiner ersten Antwort. Wenn ich das Formular irgendwo zwischen HTML-Code habe.
Wie kann ich es vom Server laden? Da müsste ich doch eine komplette Seite laden und wenn die nicht verfügbar ist, dann bekomm ich einen HTTP-Fehler.
Gruss
Steffen
Hallo,
Da müsste ich doch eine komplette Seite laden
eventuell über ein Frameset, damit wenigstens ein Rahmen immer bleibt
und wenn die nicht verfügbar ist, dann bekomm ich einen HTTP-Fehler.
Wenn sie nicht am Server verfügbar ist, hast du Recht. Darauf müsstest du also während der durchschnittlichen Lebenszeit einer CD-ROM achten ;-)
Wenn der User nur nicht online ist, erzeugt sein Browser eine Meldung, dass die Seite nicht geladen werden konnte. Die kennt man aber im allgemeinen von seinem Browser.
Ciao
Liza
Hallo Steffen,
Ich hätte schon gerne, daß dann wenigstens kommt "Bitte stellen Sie eine Internet-Verbindung her".
vielleicht etwas in der Art:
<img src="online.gif" onError="alert('Bitte stellen sie ...');">
HTH
Maxx
Hi Maxx,
<img src="online.gif" onError="alert('Bitte stellen sie ...');">
Ein Alert reicht mir nicht, ich möchte halt, daß z.B. das e-mail-Formular garnicht angezeigt wird. D.h. ich müsste über den onError die Ausgabe steuern, das geht aber glaub ich nicht, oder?
Gruss
Steffen
Hi,
Ein Alert reicht mir nicht, ich möchte halt, daß z.B. das e-mail-Formular garnicht angezeigt wird. D.h. ich müsste über den onError die Ausgabe steuern, das geht aber glaub ich nicht, oder?
<img src="online.gif" onLoad="window.location.href='mail.htm';" onError="window.location.href='fehler.htm';">
"garnicht angezeigt" dann wirst du eine Seite vorschalten müssen. So wie Lisa es vorgeschlagen hat mit dem refresh. Oder mit javascript und onLoad/onError. Aber beides wird nicht immer und überall funktionieren.
Viele Grüße,
Maxx