So ändern Sie die angezeigte URL im Browser, ohne die Seite zu verlassen

8

Ist es mit JavaScript möglich, die URL des Browsers zu ändern, aber nicht die Seite zu verlassen?

    
mjr 03.11.2010, 16:20
quelle

4 Antworten

13

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.

%Vor%

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 .

    
Adam 03.11.2010, 16:25
quelle
5

Ich gehe davon aus, dass Sie über die sichtbare URL in der URL-Leiste sprechen.

Die Antwort ist Nein, es ist eine große Sicherheitslücke, wenn eine Anwendung versucht, Benutzer dazu zu verleiten, an einer anderen Site zu denken.

    
mikerobi 03.11.2010 16:24
quelle
0

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.

    
kijin 03.11.2010 16:23
quelle
-1

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.

    
Denilson Sá Maia 03.11.2010 16:25
quelle

Tags und Links