2016-01-22 7 views
5

Ist es möglich, Parameter aus Query-String mit js zu entfernen, habe ich unter einem versucht leider funktioniert es in der Browser-Konsole nicht in JS-Datei.Parameter aus Abfragezeichenfolge entfernen, ohne neu zu laden

var clean_uri = location.protocol + "//" +  location.host+location.pathname; 
window.history.replaceState({}, document.title, clean_uri); 

was wäre der beste Weg, es zu tun.

+0

Wenn es in der Konsole aber nicht in Ihrem JS funktioniert dann hat das Problem wahrscheinlich etwas mit dem Code * um * zu tun, was Sie mit uns geteilt haben. – Quentin

+0

Was meinen Sie mit "nicht in JS-Datei" - ist es eine externe JS-Datei, die Sie von der Seite aufrufen? – Lys777

Antwort

1

Der Grund, warum dies nur im Browser funktioniert, ist, dass die API window.history nur in Ihrem Browser verfügbar ist. Ich bin mir nicht ganz sicher, was Sie mit "aus Datei" meinen. Aber wie einer der Kommentatoren darauf hingewiesen hat, liegt das Problem im Kontext dessen, wo es ausgeführt wird. Wenn Sie dies zum Beispiel in einer Node-Umgebung und nicht in einem Browser ausführen, gibt es keine window.history-API. Der Knoten hat nicht einmal ein Fensterobjekt.

Da Sie ein AngularJs-Flag hinzugefügt haben, kann es sein, dass das Routing in der App Änderungen an der URL abgehört und darauf reagiert. Angular hat vielleicht seine eigene Art, Ihnen zu erlauben, die URL zu ändern, aber ich bin nicht vertraut genug, um damit zu helfen.

Verwandte Themen