2017-09-21 7 views
0

Ich möchte Adresse URL ohne Navigation ändern. Ich mache es wienach der Geschichte pushState die Rückseite ist nicht navigieren

var url = window.location.href; 
    url = url.split('#'); 
    var url_ = url[0] + '?task=product&url=' + selectedUrl; 
    history.pushState(null, null, url_); 

Nach dann url[0] + '?task=product&url=' + selectedUrl auf diese URL in der Adresszeile auf URL und navigiert ich ein. Aber das Problem kommt, wenn ich zurück navigiere, die Adresse wurde geändert, aber nicht Seite (die Seite wird nicht für geänderte URL geladen).

Nun, wie kann ich durch diese URL zurück und Seite laden?

+0

Mögliche doppelte hinwollen von [Zurück-Taste/Backspace nicht mit window.history arbeiten. pushState] (https://stackoverflow.com/questions/19335372/back-button-backspace-does-not-work-with-window-history-pushstate) –

+0

'pustState' ändert nur die URL und speichert einige Metainformationen, aber nicht der Inhalt der Seite. Sie müssen das Ereignis [popstate] (https://developer.mozilla.org/en-US/docs/Web/Events/popstate) abhören und den Inhalt Ihrer Seite entsprechend aktualisieren. –

+0

danke, es hilft. –

Antwort

0

history.pushState ändert nur den Browserverlauf. Ich bin ein wenig verwirrt von Ihnen Formulierung sind, aber Sie können immer nur

window.location = url; 

zu umzuleiten, wo Sie

+0

Ja, aber wenn ich im Browser auf die Schaltfläche "Zurück" klicke, wird die Seite nicht geladen, sondern nur die URL geändert. –

+0

Ich bin mir immer noch nicht sicher, was Sie versuchen zu tun. Ich glaube nicht, dass es so funktioniert, wie Sie es denken, ich würde dies lesen https://developer.mozilla.org/en-US/docs/Web/API/History_API Dies kann auch helfen https: // Entwickler .mozilla.org/de-DE/docs/Web/API/FensterEventHandler/onpopstate –

Verwandte Themen