Ich habe entweder davon geträumt, dass Chrome (Dev Channel) eine Möglichkeit implementiert, die Adressleiste über Javascript (den Pfad, nicht die Domain) zu aktualisieren, ohne die Seite neu zu laden, oder sie haben dies wirklich getan.
Ich kann den Artikel , den ich zu lesen glaube , jedoch nicht finden .
Bin ich verrückt oder gibt es eine Möglichkeit, dies zu tun (in Chrome)?
ps Ich spreche nicht von window.location.hash et al. Wenn das oben Gesagte existiert, ist die Antwort auf diese Frage falsch.
javascript
ajax
google-chrome
David Murdoch
quelle
quelle
Antworten:
Sie können dies jetzt in den meisten "modernen" Browsern tun!
Hier ist der Originalartikel, den ich gelesen habe (veröffentlicht am 10. Juli 2010): HTML5: Ändern der Browser-URL ohne Aktualisierung der Seite .
Weitere Informationen zu pushState / replaceState / popstate (auch bekannt als HTML5-Verlaufs-API) finden Sie in den MDN-Dokumenten .
TL; DR, Sie können dies tun:
Eine grundlegende Anleitung finden Sie in meiner Antwort zum Ändern der URL, ohne die Seite neu zu laden .
quelle
../new-url
oder../../new-url
. Sie scheinen zumindest das zu tun, was Sie in Chrome erwarten würden.Ändern nur, was nach Hash - alten Browsern
Vollständige URL ändern. Chrome, Firefox, IE10 +
Oben wird ein neuer Eintrag zum Verlauf hinzugefügt, sodass Sie die Zurück-Taste drücken können, um zum vorherigen Status zurückzukehren. Um die URL zu ändern, ohne einen neuen Eintrag zum Verlauf hinzuzufügen, verwenden Sie
Versuchen Sie, diese jetzt in der Konsole auszuführen!
quelle
replaceState
war genau das, was ich brauchte, danke für die Erweiterung der ursprünglichen Antwort.history.replaceState
zur Geschichte hinzufügen in ff 66.0b1Update auf Davids Antwort, um sogar Browser zu erkennen, die Pushstate nicht unterstützen:
quelle
quelle