2012-04-05 18 views
1

Ich habe eine Webseite, wenn sich ein Benutzer anmeldet, wird es einen Link haben, der den "Benutzernamen" und einen Link für "Abmeldung" anzeigt.Wie wird die Seite nur einmal automatisch aktualisiert?

Nachdem sich der Benutzer abmeldet, ändern sich die Links "Benutzername" und "Abmelden" in "Login" bzw. "Registrieren".

Die Seite verwendet Javascript, um ein Benutzer-Cookie zu überprüfen. Wenn der Benutzer-Cookie existiert, wird der Link "Benutzername" und der Link für "Abmeldung" angezeigt. Wenn kein Benutzer-Cookie vorhanden ist, ersetzen die Links "Anmelden" und "Registrieren" die Links "Benutzername" und "Abmelden".

Hier ist das Problem: Wenn ein Benutzer, der sich angemeldet hat, auf den "Abmelden" -Link klickt, löscht ein Perl-Skript den Benutzer-Cookie und leitet zurück zur selben Seite. Die Seite zeigt "Login" und "Register" -Links NICHT AUTOMATISCH an. Beide Links erscheinen NUR, nachdem der Benutzer MANUELL die Seite aktualisiert hat.

Es scheint, dass ich ein System brauche, um die Seite nur einmal automatisch zu aktualisieren. Wie kann das gemacht werden?

+0

möchten Sie ein JavaScript nur Lösung? vielleicht, wenn Sie näher erläutern, welche serverseitige Technologie Sie verwenden, können wir eine geeignetere Lösung geben. Eine korrekte Lösung würde jedoch nicht darin bestehen, eine Aktualisierung zu erzwingen, sondern die Daten gleich beim ersten Versuch zu korrigieren. – ericosg

+0

Verstehen Sie Ihren Kommentar überhaupt nicht. Die serverseitige Technologie ist sehr einfach, ein Perl-Skript löscht das Benutzer-Cookie und leitet es dann auf die gleiche Seite zurück. Die Änderungen in den Verknüpfungen werden jedoch erst angezeigt, nachdem die Seite manuell aktualisiert wurde. Ich brauche das automatisch. – user1315468

+0

Der Cookie wird gelöscht, indem die abgelaufene Cookie-Zeit auf '' gesetzt wird. Wird dies das Problem verursachen? – user1315468

Antwort

-1

Ich denke nicht, es ist gut, eine Aktualisierung für diese Art von Dingen zu zwingen, und Sie sollten die Art und Weise Sie es zu tun mit dem Betrieb prüfen, aber wenn Sie die einfache Möglichkeit wollen, dann müssen Sie diesen Code hinzufügen, die sofort neu geladen

<meta http-equiv="refresh" content="0"> 
+0

Nein, Ihr Vorschlag funktioniert nicht. Die Seite wird weiter auffrischen, sehr nervig! – user1315468

0

Sie es wie diese nach deconnexion zu ‚seite.html? 1‘ und in Javascript-Seite Verwendung dieser Schnipsel umleiten tun könnte für die? 1 und Umleitung zu ‚seite.html‘

var refreshCheck= Number(window.location.search.slice(1)); 
if (refreshCheck == 1) { 
    window.location.href = window.location.substring(0, window.location.length-2); 
} 
zu überprüfen
Verwandte Themen