In älteren Browsern können Sie nicht die URL in der Adressleiste ändern, ohne die Seite zu verlassen. Sie können jedoch den Hash-Anteil der URL ändern, ohne die Seite zu verlassen. Das heißt, Sie können www.example.com
in www.example.com#new_text
mit JavaScript ändern window.location.hash = "new_text"
; alles nach dem #
kann geändert werden.
In HTML5 gibt es jedoch eine neue Verlaufs-API, mit der Sie den Teil der URL nach der Domäne ändern können. Daher können Sie www.example.com
nicht in www.BankOfAmerica.com
ändern (aus Sicherheitsgründen), aber Sie können www.example.com/foo
in www.example.com/bar
ändern.
Unter Wann kann ich ... nachsehen, welche Browser die HTML5-Sitzungsverlaufsverwaltung unterstützen und die neue pushState
unterstützen Methode.
Zusätzlich gibt es eine JavaScript-Bibliothek, die die Verlaufs-API in allen Browsern normalisiert und die URL in neuen Browsern ändert und den Hash-Teil für alte Browser verwendet. Siehe history.js .
Sie können alles nach dem Hash-Zeichen ( #
) ändern, da dies häufig in Ajax-Anwendungen wie der Google-Suche und dem neuen Twitter verwendet wird. (Daher erscheint in diesen Apps nach dem Rautenzeichen alles.) Wenn Sie jedoch etwas anderes ändern, muss die Seite neu geladen werden.
Nein, das ist nicht möglich. Und wann immer es möglich ist, ist das ein Browser-Bug (ich weiß von früheren Sicherheitsfehlern, die mit diesem Verhalten zusammenhängen, und sie wurden in der Vergangenheit behoben).
Eigentlich ... Sie können den letzten Teil der URL ändern, alles nach dem #
-Zeichen. Aber der Hostname und der Pfad können nicht geändert werden, ohne die Seite zu verlassen.
Tags und Links javascript url browser-history