Autor |
Nachricht |
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 24.09.2009 11:34
Titel Denkanstoß: Daten speichern, wenn Browser geschlossen wird |
|
|
Hallo zusammen,
in der letzten Zeit muss ich irgendwie mehr fragen als antworten, aber was soll's. Es geht darum, das ich einen kleinen Denkanstoss brauche.
Folgendes Szenario: Ich habe eine Stopuhr auf einer Seite eingebaut.
Die Start / Stop und End Zeit trage ich dann jeweils in eine Datenbank bzw. Session ein. Soweit so gut. Jetzt möchte ich aber die aktuelle Zeit der Stopuhr auch behalten, wenn der Browser geschlossen wird. Bei erneutem Aufruf soll die Zeit dann weiterlaufen.
Ich könnte mir aktuell nur vorstellen permanent die Zeit in eine Session einzutragen, was aber glaub ich wohl sehr inperfomant werden dürfte.
Habt ihr da nen kleinen Denkantoss für mich, wie ich das angehen könnte, das die Zeit irgendwie beim Browserschließen erhalten bleibt? (cookie, Session, DB) Weiß grad nicht so ganz wie ich das angehe.
Danke schonmal
Zuletzt bearbeitet von DerM am Do 24.09.2009 11:36, insgesamt 1-mal bearbeitet
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Do 24.09.2009 11:38
Titel
|
|
|
Die Zeit soll denke ich mal User-bezogen vorgehalten werden, oder?
Ganz ehrlich: Ich galub das geht nicht. Aus dem einfachen Grund, dass du bei welcher Art der Ablage auch immer das Event des Browser-Schließens nicht bekommst und selbst wenn dann dann auch nicht mehr genug Zeit hast um noch irgendeine permanente Speichermethode anzusteuern
|
|
|
|
|
Anzeige
|
|
|
sjalf
Dabei seit: 21.04.2008
Ort: Berlin
Alter: -
Geschlecht: -
|
Verfasst Do 24.09.2009 11:38
Titel
|
|
|
javaScript:onUnload() und mit ajax wegspeichern gehen?
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Do 24.09.2009 11:41
Titel
|
|
|
Dann passiert aber hoffentlich sonst nix auf der Seite. Die Performane wird nämlich ordentlich in den Keller gehen. Man muss ja jederzeit damit rechnen, dass der User den Brwoser schließt , also wirst du minimal sekündlich dir den aktuellen Zeitpunkt "merken" müssen.
|
|
|
|
|
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 24.09.2009 11:44
Titel
|
|
|
Wenn der Browser geschlossen wird, bekomm ich ja auch keine Serverseitigen Sachen mehr ausgeführt.
@ Nimroy: Jo ist alles User bezogen.
Kann man die Daten denn irgendwie asynchron speichern, das ich sie mir noch irgendwie wiederholen kann, ohne immer ein serverseitiges Script ausführen zu müssen? Klar Startzeit wird gespeichert.
die Methode onUnload ist mir ja auch schon in den Sinn gekommen. das einzige was mir dann noch einfallen würde den Benutzer zu warnen das der Browser geschlossen wird.
Jemand noch andere Ideen oder Denkanstöße ?
Danke
|
|
|
|
|
xaos
Dabei seit: 06.10.2004
Ort: Kargath
Alter: -
Geschlecht: -
|
Verfasst Do 24.09.2009 13:02
Titel
|
|
|
Weiss nich ob ichs richtig verstanden hab...
Beim Starten der Stopuhr in der DB einen Eintrag für den Benutzer auf dem aktuellen Unix-Timestamp basierend eintragen.
Je nachdem was du da genau Treiben willst, mehrere Zeiten erfassen, dauerhaft speichern etc. fliegt der Eintrag beim Stoppen entweder komplett raus oder bekommt ne Endzeit mit abgespeichert.
Wenn der Benutzer nun den Browser schliesst gibt es nur den Eintrag für den Start.
Wenn der Benutzer dann wiederkehrt kann man, basierend auf dem Timestamp, pro User schauen welcher Timer noch aktiv ist und über den Timestamp auf die aktuelle Laufzeit kommen.
|
|
|
|
|
DerM
Threadersteller
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Do 24.09.2009 14:27
Titel
|
|
|
xaos hat geschrieben: | Weiss nich ob ichs richtig verstanden hab...
Beim Starten der Stopuhr in der DB einen Eintrag für den Benutzer auf dem aktuellen Unix-Timestamp basierend eintragen.
Je nachdem was du da genau Treiben willst, mehrere Zeiten erfassen, dauerhaft speichern etc. fliegt der Eintrag beim Stoppen entweder komplett raus oder bekommt ne Endzeit mit abgespeichert.
Wenn der Benutzer nun den Browser schliesst gibt es nur den Eintrag für den Start.
Wenn der Benutzer dann wiederkehrt kann man, basierend auf dem Timestamp, pro User schauen welcher Timer noch aktiv ist und über den Timestamp auf die aktuelle Laufzeit kommen. |
Hmm netter Gedanke.. So hab ich das irgendwie noch nicht bedacht. Aber Du hast recht .. Einen Eintrag hab ich ja .. Die Startzeit wird ja definitiv gespeichert..
Danke danke
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 45
Geschlecht:
|
Verfasst Do 24.09.2009 15:07
Titel
|
|
|
Wie identifizierst du den User, so dass du ihn beim nächsten Mal wieder erkennst?
Wenn ich das richtig verstanden habe, soll aber der reine Zeitraum der Betrahtung erfast werden. Wenn zwischn beiden Startpunkten jetzt 12 Stunden liegen, heißt das noch lange nicht, dass der Betrachtungseitraum auch so lange gewesen ist.
|
|
|
|
|
|
|
|
Ähnliche Themen |
SWF - Indesign | Blätterkatalog im Browser speichern als PDF
daten von Oracle DB in MySql speichern
Dateigröße AI Daten beim Speichern verkleinern?
Photshop Elements 5: IPTC-Daten automatisch speichern
XML-Daten in Flash einlesen/abändern/in neuem File speichern
Javascript - Denkanstoß
|
|