Frage

Ist es möglich, ein Server zu benachrichtigen (macht eine einzelne HTTP-Anforderung mit einem Bit von Daten, Antwort ist unwichtig), wenn der Client verläßt die Seite?

Ich verwende eigentlich Python-Tornado Kometen Anwendung mit JavaScript eine Anforderung Verbindung zum Server ständig zu halten (die geschlossen werden und wieder eröffneten am Ereignisse Basierend off this:. https://launchpad.net/eftw ).

Ich habe keinen einfachen Weg finden, dies zu debuggen (mit Firebug, insbesondere). Das macht es ziemlich problematisch.

Oh, und der eigentliche Code (da es etwas verwendbar sowieso schon): http : //bazaar.launchpad.net/~hoverhell/xftw/trunk/files

War es hilfreich?

Lösung

Sie können dies nicht in einer zuverlässig Art und Weise, je nach Browser und Latenz, Ihre XmlHttpRequest wahrscheinlich getötet werden soll, bevor es tatsächlich beendet ist.

Browser-Hersteller wollen (richtig, imo) so schnell wie möglich die nächste Seite machen. Die onbeforeunload und onunload sind Bereinigungs Ereignisse schnell gemeint entsorgen Sie alle Variablen links um, sind sie nicht abgewartet werden auf gemeint ... so dass der Browser nicht. Da Garbage Collection auch in neueren Browsern hat sich deutlich verbessert, hat der Browser noch weniger Grund, sich auf diese Ereignisse zu warten.

Sie können eine Anfrage im window.onbeforeunload Ereignisse senden ... aber wird es auf den Server? Vielleicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top