2016-07-07 13 views
0

Ich habe ein Formular, das der Benutzer als modales Fenster öffnen kann. Ich möchte erkennen können, wenn sie zurückblättern und das Fenster schließen.Modal auf Browser zurück schließen und dann den Weiterleitungsstatus löschen?

Ich habe es funktioniert, aber es gibt einige Probleme:

// in modal.open(): 
window.history.pushState(null, null); 

// in modal.close(): 
window.history.back(); 

Dies funktioniert mit dem Nebeneffekt, dass sie dann nach vorne blättern und nichts passiert ... Das ist ein Grenzfall, wahrscheinlich es doesn Es ist mir egal, aber es stört mich.

Wie lösche ich den aktuellen Status beim Zurückblättern? Sie können also nicht vorwärts gehen.

Antwort

0

Check diese Geige, Benutzer kann nicht vorwärts gehen

https://jsfiddle.net/5y6jL0an/

history.pushState(null, null, 'no-back-button'); 
window.addEventListener('popstate', function(event) { 
    history.pushState(null, null, 'no-back-button'); 
}); 
+0

Diese Methode das entgegengesetzte Problem lässt. Jetzt gibt es statt einer nutzlosen Vorgeschichte eine nutzlose Vorgeschichte. Wenn sie zum Beispiel zurückblättern wollen, müssen sie es zweimal treffen. – Zuko