erster Seitenaufruf - Check

boOmLiGht

Grünschnabel
Hallo,

ich möchte gerne JavaScript Effekte auf meine Seite einbauen. Diese sollen aber nur ausgeführt werden, wenn es sich um den ersten Seitenaufruf handelt.

Also jmd gibt die url ein http://www.domain.xy -> JS Effekte

er klickt durchs Menü -> keine Effekte

Ich habe versucht es so zu lösen, dass ich mit php am Ende der Seite eine Session Variable setze, die ich innerhalb der Seite prüfe (wenn nicht vorhanden -> zeige Effekte).

Das klappt ansich auch ganz gut. Problem ist nur Firefox (andere Browser bestimmt auch) löscht die Session erst beim Schließen des Browsers. Wenn ein User nun nur den Tab schließt und zu einem späteren Zeitpunkt meine Seite wieder öffnet, ohne den Browser geschlossen zu haben, passiert mal nischt in Sachen Effekte.

Gibt es da noch ne andere Lösung?
 
Ist deine "Startseite" die ganz normale index.php?
Oder wird man irgendwie weitergeleitet, irgendwelche Module includet ect?

Was soll denn passieren, wenn man deine Domain geht, und einfach manuell die Domain noch mal eingibt?

paD
 
hm daran habe ich garnicht gedacht *kotz*
ich will mit jquery bestimmte divs einblenden lassen, aber halt nur bei "betreten" der seite, also nicht wenn ich die unterseiten aufrufe und wenn ich im menü dann wieder auf startseite klicke soll das dann halt auch nicht mehr passieren.
 
Du kannst mit JavaScript auch Cookies setzen, und in diesen dann abfragen ob es der erste Besuch ist.
 
Der Keks bleibt doch aber erst recht bestehen, beim schließen eines Tabs oder lieg ich da falsch.
Bei einem einmaligen Besuch meiner Seite klappt das bestimmt, aber davon will ich mal nicht ausgehen ,)

Wie wäre es denn wenn ich den Refferer abfrage und wenn der halt meine Domain hat dann zeige keine Effekte?

Und mal ne ganz andere Frage: Ist das überhaupt sinnvoll, was ich mir da ausgedacht habe, oder sollte ich lieber die Effekte generell auf der Startseite anzeigen?
 
Das mit dem Referer ist auch so eine Sache. Wenn ich deine Seite im Tab offen habe, und anschließend einen neuen Tab öffne mit deiner Seite, ballern die Effekte auch los.
Da hier keiner weiß, was genau du da fabrizieren möchtest, kann dir auch keiner was zur "Sinnhaftigkeit" dazu sagen.
 
Na ich möchte Animationen einbauen, die den Content einblenden.
Da ich es aber nervend finde, wenn dies auf jeder Unterseite geschieht, möchte ich das so realisieren, dass die Animationen nur beim Betreten angestupst werden, ansonsten wird der Content normal angezeigt.
 
Um das ganze aufwendig zu gestalten, kannst du jede Minute (Zeitintervall beliebig) per Ajax einen timestamp in die Datenbank hineinschreiben. Beim aufrufen der Seite prüfst du, ob der älter als [Intervall] Minuten ist. Wenn ja, war die Seite geschlossen. Diesen müsstest du dann wahrscheinlich der IP zuordnen. Zusätzlich sollte ein Cronjob laufen, der alte IPs wieder herauslöscht.
Halte ich dafür allerdings übertrieben ;)
 
Du könntest natürlich alles über Ajax nachladen. Damit wäre ein neu laden der Seite überflüssig und du müsstest den Fall ob es der erste Besuch ist gar nicht mehr abfangen. Das eckt dann nur wieder mit den Usern an, die Javascript deaktiviert haben. Ich würde es über die Sessions lösen. Wenn er nur den Tab schließt, lass es halt so sein, aber das scheint mir nach wie vor die am einfachsten zu lösende Variante zu sein.
 
Zurück