2016-12-09 5 views
0

Ich habe einen Online-Test, der nacheinander über 5 Webseiten ohne Pause läuft. Ich möchte, dass die Zurück-Schaltfläche, falls verwendet, auf die Seite vor den Testseiten umleitet, um zu verhindern, dass sie zum Durchlaufen der Testseiten verwendet wird. Ich dachte, die Geschichte API könnte der Weg zu gehen und versuchte es mit diesem Skript:Umleiten zurück Schaltfläche zu bestimmten Seite mit Verlaufs-API

var stateObj = { url: "/index.php/toeic_introduction"}; 

// Updates the current history entry timerArray[i][2]. 
window.history.replaceState(stateObj, "","/index.php/toeic_introduction"); 

// Creates a new history entry. 
window.history.pushState(stateObj, "","/index.php/toeic_introduction"); 

Dies funktioniert in dem Maße, dass die URL in der Adresszeile angezeigt wird, aber die Zurück-Taste umleiten nicht wie gewünscht. Ich bin mir nicht einmal sicher, ob die Kontrolle über den Zurück-Knopf auf diese Weise erreicht werden kann. Ich hatte daran gedacht, den Zurück-Knopf zu deaktivieren und habe mich online umgeschaut, aber diese Option scheint ziemlich problematisch zu sein. Ich würde sicherlich irgendwelche Kommentare oder Vorschläge begrüßen.

Antwort

0

Ich denke, Sie zu popState Ereignis binden müssen und Ihre Umleitung Logik dort setzen wie folgt aus:

$(document).ready(function() { 
     if (window.history && window.history.pushState) { 
     $(window).on('popstate', function() { 
      // your logic here 
     }); 
     } 
    }); 
+0

Dieses doesn arbeite nicht. Die Adresszeile zeigt nach dem Start des Tests nicht "/index.php/toeic_introduction". Ich habe mit einer Warnung überprüft und auf die Funktion wird zugegriffen. – RoyS

Verwandte Themen