Beitrag von Peter (141 Beiträge) am Freitag, 23.Februar.2018, 16:38.
History Safari
Hat da jemand ne Idee?
Ich teste gerade für eine Buchungsseite eine Möglichkeit, die 'history.forward()' abzuschneiden, was ja eigentlich nicht geht.
Meine Start-Seite ist mein 'logIn'. Dann kommt seite2 -> seite3 ... usw.
Nach einer Zeitüberschreitung wird der Client zum logIn zurückgeschickt und soll sich NEU einloggen.
Die 'history.forward()' muß dazu abgeschnitten werden.
Mein Ansatz:
Ich hab ne 'back'-Seite geschrieben die nichts anderes macht als IMMER einen 'history.back()'.
Aufgerufen wird Sie von meinem logIn nach dem Rücksprung.
d.h. ab jetzt besteht die 'history.forward' nur noch aus der 'back'-Seite und der Client kann
nicht mehr unkontrolliert nach vorn.
Mein Problem: Es funktioniert auf allen Browsern prima - nur nicht mit Safari !!!
Egal von wo aus ich den
document.location.href='meineBackSeite';
aufrufe hat Safari die History noch nicht aktuallisiert, d.h. die Seite wird nicht eins über dem logIn reingeschrieben, sondern direkt in den logIn (wie mit location.replace).
Ich hab auch versucht den window.addEventListener('DOMContentLoaded',noForward); über
var dclhandler = false;
if (document.readyState !== 'loading') {
start();
} else {
dclhandler = true;
document.addEventListener('DOMContentLoaded', start);
}
function start() {
if (dclhandler) { document.removeEventListener('DOMContentLoaded', start); }
noForward();
}
</script>
nach hinten zu legen, aber Safari mags auch so nicht. ???