Steffen: Internet-Verbindung prüfen

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

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

      2. 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

        1. 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

          1. 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