Christian Noss: online/offline?

Hallöchen,

folgendes Problem plagt mich:
ein *.html document soll offline beim user auf der platte liegen. wenn der user das ding startet soll es prüfen ob der user gerade online ist oder nicht.
Geht das? wenn ja wie?

christian

  1. Hi,

    folgendes Problem plagt mich:
    ein *.html document soll offline beim user auf der platte liegen. wenn der user das ding startet soll es prüfen ob der user gerade online ist oder nicht.
    Geht das? wenn ja wie?

    ich würde das ganz einfach mit JavaScript erledigen:

    if (self.location.href.toLowerCase().indexOf("file:") >= 0) { alert("offline!"); }

    Cheatah

    1. Hi,

      folgendes Problem plagt mich:
      ein *.html document soll offline beim user auf der platte liegen. wenn der user das ding startet soll es prüfen ob der user gerade online ist oder nicht.
      Geht das? wenn ja wie?

      ich würde das ganz einfach mit JavaScript erledigen:

      if (self.location.href.toLowerCase().indexOf("file:") >= 0) { alert("offline!"); }

      Cheatah

      Leider nein.
      der user startet die datei ja von der platte, also ist die location ja immer file:, egal ob er online oder offline ist.
      ich will aber die datei offline starten und dann prüfen ob online oder offline.

      gruß christian

      1. Hi,

        if (self.location.href.toLowerCase().indexOf("file:") >= 0) { alert("offline!"); }

        Leider nein.
        der user startet die datei ja von der platte, also ist die location ja immer file:, egal ob er online oder offline ist.

        huh? Wenn er online ist, startet er die Datei eben nicht von der Platte, sondern von http...? Oder bin ich im falschen Film?

        Cheatah

        1. Hi,

          if (self.location.href.toLowerCase().indexOf("file:") >= 0) { alert("offline!"); }

          Leider nein.
          der user startet die datei ja von der platte, also ist die location ja immer file:, egal ob er online oder offline ist.

          huh? Wenn er online ist, startet er die Datei eben nicht von der Platte, sondern von http...? Oder bin ich im falschen Film?

          Cheatah

          Wie falscher film?!?!
          nee, das will ich eben nicht, das er das ding dann übers web abruft. das ist ja der witz.

          gruß christian

          1. Hi,

            Wie falscher film?!?!

            "stehe ich irgendwie auf dem Schlauch?" :-)

            nee, das will ich eben nicht, das er das ding dann übers web abruft. das ist ja der witz.

            Hm, ich weiß immer noch nicht, was Du meinst. So wie ich das verstehe, ist meine Lösung genau die richtige, nur daß Du eben etwas anderes tun mußt als mit alert() etwas auszugeben. Was genau Du tust, hat aber mit der Erkennung nichts mehr zu tun.

            Aber sag mal, wenn die Datei nicht über's Web abgerufen werden soll, warum stellst Du sie dann überhaupt ins Netz?

            Cheatah

            1. Hi,

              Wie falscher film?!?!

              "stehe ich irgendwie auf dem Schlauch?" :-)

              nee, das will ich eben nicht, das er das ding dann übers web abruft. das ist ja der witz.

              Hm, ich weiß immer noch nicht, was Du meinst. So wie ich das verstehe, ist meine Lösung genau die richtige, nur daß Du eben etwas anderes tun mußt als mit alert() etwas auszugeben. Was genau Du tust, hat aber mit der Erkennung nichts mehr zu tun.

              Aber sag mal, wenn die Datei nicht über's Web abgerufen werden soll, warum stellst Du sie dann überhaupt ins Netz?

              O.K. ich hol weiter aus:
              es soll vom prinzip ein Notizzettel sein der im netz liegt, weil ich oft an verschiedenen orten und rechnern bin. oft hab ich da auch einen permanenten netzzugriff, so das ich den notizzettel per http: aufrufen kann und die notizen per cgi auf dem server speichern kann. wenn ich aber nur zugriff per modem habe möchte ich nicht für jede notiz ins netz gehen. daher hätte ich gerne eine offline version, die die notizen per cookie speichert solange ich offline bin. wenn ich online gehe soll das ding es merken und die cookie-notizen und der serverseitig gespeicherten noitzen abgleichen, so das auf dem server immer die neuste version ist. alles klar?
              dafür muß aber die offline-version, die ich per file: öffne merken, wenn ich online gegangen bin.

              vielleicht denke ich da aber auch zu kompliziert.

              gruß christian

              1. Hi,

                O.K. ich hol weiter aus:

                [schnipp]

                ah, ich glaube, _jetzt_ verstehe ich was Du meinst! Du willst wissen, ob der Browser gerade im o(nff)line-MODUS ist!

                Tja, ich kann mich irren, aber soweit ich weiß geben die Browser diese Information nicht preis, und eine andere Möglichkeit fällt mir jetzt spontan nicht ein. Ich werde darüber noch mal grübeln, aber im Moment sehe ich da keinen Weg, sorry!

                Cheatah

                1. Hi,

                  O.K. ich hol weiter aus:
                  [schnipp]

                  ah, ich glaube, _jetzt_ verstehe ich was Du meinst! Du willst wissen, ob der Browser gerade im o(nff)line-MODUS ist!

                  Tja, ich kann mich irren, aber soweit ich weiß geben die Browser diese Information nicht preis, und eine andere Möglichkeit fällt mir jetzt spontan nicht ein. Ich werde darüber noch mal grübeln, aber im Moment sehe ich da keinen Weg, sorry!

                  Cheatah

                  schade. trotzdem erstmal danke

  2. Hallöchen,

    folgendes Problem plagt mich:
    ein *.html document soll offline beim user auf der platte liegen. wenn der user das ding startet soll es prüfen ob der user gerade online ist oder nicht.
    Geht das? wenn ja wie?

    christian

    Hm, also ob der Browser im Online oder Offline Modus ist,geht glaube ich nicht, ein Denkansatz, kann JS nicht feststellen, ob es auf irgendwas aus dem Netz zugreifen kann, und wenn nicht daraus schliessen, dass der Browser offline ist ?

    1. Hallo!

      Hm, also ob der Browser im Online oder Offline Modus ist,geht glaube ich nicht, ein Denkansatz, kann JS nicht feststellen, ob es auf irgendwas aus dem Netz zugreifen kann, und wenn nicht daraus schliessen, dass der Browser offline ist ?

      Genau das hab ich mir auch gedacht und eine Lösung gefunden! Es funktioniert wie im folgenden Beispiel:

      <html>
      <head>
      <title>
      </title>
      <script>
      <!--
      function onoffline()
      {
      if (document.images[0].complete == true)
      {
      alert("online!");
      }
      else
      {
      alert("offline!");
      }
      }
      -->
      </script>
      </head>
      <body onload="onoffline()">
      <img src="http://www.host-im-internet.com/images/testbild.gif" width=1 height=1>
      </body>
      </html>

      Das Problem liegt nur im Cache des Browsers. Aber Folgendes sollte funktionieren: ein CGI-Script erzeugt das Bild und gibt zusätzlich im Header den Text aus der das Cachen verhindert. Da gibts etwas, nur kann ich mich nicht mehr genau daran erinnern (irgendwas mit "No-Pragma"). Im ersten Test hat das funktioniert (nicht mit dem CGI-Script).
      Viele Grüße und Glück,
      Alexander Kirk

      1. <img src="http://www.host-im-internet.com/images/testbild.gif" width=1 height=1>

        Problem dabei: Sobald das IMG-Tag vom Browser interpretiert wird, und der User ist offline (d.h. es besteht keine Internet-Verbindung), poppt entweder das Dialogfenster der DFÜ-Verbindung hoch, oder die Verbindung wird automatisch aufgebaut (je nachdem, wie es eingestellt ist).

        1. <img src="http://www.host-im-internet.com/images/testbild.gif" width=1 height=1>

          Problem dabei: Sobald das IMG-Tag vom Browser interpretiert wird, und der User ist offline (d.h. es besteht keine Internet-Verbindung), poppt entweder das Dialogfenster der DFÜ-Verbindung hoch, oder die Verbindung wird automatisch aufgebaut (je nachdem, wie es eingestellt ist).

          Ja, so ähnlich habe ich es auch probiert. ein weiteres problem, zumindest in meiner test_umgebung, ist, daß wenn "offline", danm sucht die datei das bild superlange, also super lange wartezeit.
          Trotzdem danke. und bleibt am ball, wenn ihr mögt.

          christian