hi,
Der Benutzer hat einen Link. Dieser Link darf aber nur in Abhängigkeit von einem Status, der auf der Seite angezeigt wird, funktionieren.
Es kann unter Umständen passieren, dass der Status sich ändert und der Benutzer kein manuelles "Refresh" der Seite macht.
Wo ändert sich dieser Status - serverseitig?
Nun habe ich mir gedacht, dass ich vor dem Link eine Javascript-Funktion setze, die erstmal die Seite neu lädt, so dass der Status aktuell ist und somit der Link gar nicht funktioniert.
Der Link dürfte immer "funktionieren". Nur wie dein Server darauf antwortet, ist ggf. unterschiedlich.
window.location.reload();
window.location.href=url;Der Seitenwechsel funktioniert - aber das reload bleibt aus :(
Nehme ich den Seitenwechsel (href) raus, geht der reload.
Wie soll ich da als Browser reagieren?
reload, OK - ich fordere die aktuelle Seite neu an. Da das aber einen Moment dauert, mache ich erst mal mit dem Javascript weiter.
Aha, jetzt ersetzt du location.href durch eine neue Adresse. Na gut, dann breche ich den vorherigen Request ab, ignoriere eine eventuelle Antwort - und mache den neuen, der gerade von mir verlangt wird.
Die Konsole meldet keinerlei Fehler :(
Nun ja, Logik kann die auch nicht prüfen.
Hat jemand dafür eine Erklärung oder wahlweise eine Idee, wie ich mein Problem anderweitig in den Griff kriege?
Wenn es ein serverseitiges Problem ist, löse es serverseitig: Lass den Nutzer die Seite ruhig aufrufen, und überprüfe dann den Status - und gebe ihm entweder das gewünschte, oder eine Fehlermeldung aus.
Wenn das Vorhandensein des Links auf der Seite dich stört - dann polle meinetwegen regelmässig mit AJAX an den Server, und entferne je nach Antwort ggf. den Link aus dem DOM-Baum der Seite. Sei dir aber im klaren darüber, dass dies natürlich nicht verhindert, dass der URL vielleicht trotzdem aufgerufen wird - serverseitig den Status prüfen und entsprechend antworten musst du also sowieso.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }