2016-07-13 8 views
0

Ich implementiere Router für die Navigation in der Single-Page-Anwendung (etwas wie Angulars ui-router). Das Routing wird durchgeführt, indem der Hash des Browser-Standorts geändert wird.Verhindern Hash-Navigation im Browser

Es sollte nicht möglich sein, zu einer nicht deklarierten Route zu navigieren. Also, wenn ich nur #/foo Route deklariert habe, und derzeit bin ich auf #/foo und versuche, den Hash zu #/bar zu ändern, sollte der Browser Hash auf #/foo zurücksetzen.

Allerdings wird danach #/bar in der Browserhistorie bleiben. Die Frage ist: Wie kann man verhindern, dass sich die Historie bei der Hash-Navigation ändert?

Ich habe

versucht
$(window).on('hashchange', function(event) { 
    event.preventDefault(); 
    return false; 
}) 

aber es hat nicht funktioniert.

Antwort