kostenloser Webspace werbefrei: lima-city


JS beim wirklichen Verlassen der Seite

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    Hallo,
    wie es schon im Titel steht, möchte ich beim wirklichen Verlassen der Seite ein Javascript ausführen. Sinn dahinter ist, dass ein AJAX Request gestartet wird und der User dann in der Datenbank als offline gekennzeichnet wird. Aber das mit dem AJAX und so stellt bei mir kein Problem mehr dar. Es gibt in Javascript natürlich die Funktion onunload(), allerdings wird die bei jedem Seitenwechsel, also auf der gleichen Domain ausgeführt. Man könnte das natürlich mit Frames lösen, aber das möchte ich nicht. Ebenfalls sollte die Funktion auch ausgeführt werden, wenn der Benutzer das Fenster nur schließt.
    Wie könnte mann so ein Problem noch lösen?
    Schöne Grüße,
    mmc
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    mmc schrieb:
    Wie könnte mann so ein Problem noch lösen?


    Normalerweise macht man das rein serverseitig, indem man jeweils die letzte Aktivität des Users als Timestamp speichert. Nun kannst du zurückrechnen, ob der Timestamp länger als x Minuten zurück liegt, falls ja wird der User als offline gekennzeichnet, ansonsten als online.
  4. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    Ja, an das habe ich auch schon gedacht, aber das ist halt für eine Community und da sollte man das halt in "Realtime" sehen, ob ein User online oder offline ist, und nicht erst 5 Minuten nachher.
  5. Für so etwas gibt es "theoretisch" das onleave-Event in Javascript. Aber JS lässt sich deaktivieren und wirklich akkurat ist das auch nicht. Eine wirklich funktionierende Lösung gibt es dafür nicht.
  6. Würde ich auch, wie trueweb schon sagte, nicht über Javascript lösen.

    Wenn du es über Javascript lösen möchtest:
    Schicke doch einfach einen Ping alle 30sec an ein Script per AJAX,
    dann weißt du dass er noch da ist :)

    Beitrag zuletzt geändert: 26.4.2011 15:40:22 von sneppa
  7. Autor dieses Themas

    mmc

    mmc hat kostenlosen Webspace.

    Wie lösen das denn andere Soziale Netzwerke wie z.B. Facebook?
    Machen die das auch über einen Timestamp, denn keine AJAX Requests sind im Firebug nicht zu sehen.
    Ich werde mich dann wahrscheinlich für die AJAX-Variante entscheiden, diese aber im 5s-Takt ausführen.
  8. Bei Facebook besteht sowieso alles aus Ajax.
  9. mmc schrieb:
    Machen die das auch über einen Timestamp, denn keine AJAX Requests sind im Firebug nicht zu sehen.

    Ist die doppelte Negierung gewollt? :D
    Btw: ich sehe mit Firebug genug AJAX Requests.
    Die Frage ist, ob es überhaupt großartig interessant ist, die Benutzeraktivität auf die Sekunde genau anzuzeigen.
    Ich glaube weniger, dass FB dies so gelöst hat, ich denke eher, dass sie bei jedem Seitenaufruf annehmen,
    dass der Benutzer noch X-Sekunden on ist, oder gehen strikt davon aus, wenn angemeldet, dann auch aktiv,
    was ja bei vielen FB Nutzern zutrifft :D

    mmc schrieb:
    Ich werde mich dann wahrscheinlich für die AJAX-Variante entscheiden, diese aber im 5s-Takt ausführen.

    Ich halte 5sec für übertrieben.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!