Ein Fragment zur URL hinzufügen, ohne eine Umleitung zu verursachen?

85

Gibt es eine Möglichkeit, meiner URL Hash # hinzuzufügen, ohne sie umzuleiten?

Dee
quelle

Antworten:

169
window.location.hash = 'something';

Das ist einfach nur JavaScript.

Dein Kommentar...

Hallo, was ich wirklich brauche, ist nur den Hash hinzuzufügen ... so etwas: window.location.hash = '#';aber auf diese Weise wird nichts hinzugefügt.

Versuche dies...

window.location = '#';

Vergessen Sie auch nicht die window.location.replace()Methode.

Alex
quelle
HI, was ich wirklich brauche, ist nur Hash hinzuzufügen ... so etwas wie: window.location.hash = '#'; aber auf diese Weise wird nichts hinzugefügt ..
Dee
27

Für reines HTML ohne JavaScript:

<a href="#something">Add '#something' to URL</a>

Oder, um Ihre Frage wörtlicher zu nehmen, fügen Sie einfach '#' zur URL hinzu:

<a href="#">Add '#' to URL</a>
Jess Telford
quelle
nicht korrekt, da Sie auf den Link klicken müssen, um den Hash zu ändern. Sie vermissen also den js-Teil, in dem Sie den "Klick" auslösen.
Juan
@Juan Warum müssen wir einen Klick "auslösen"? In der ursprünglichen Frage wurde nur gefragt, wie wir die #zur URL hinzufügen können . Wenn Sie tatsächlich auf einen Link klicken, wie ich vorgeschlagen habe, wird dies erfüllt. Kein JS notwendig.
Jess Telford
1
Ihre Antwort beschreibt, wie Sie einen Link erstellen, der beim Klicken ein Fragment zur URL hinzufügt. In der Frage wird gefragt, wie ein Fragment hinzugefügt werden soll. In Ihrer Antwort fehlt also die Aktion,
Juan
2
Fair genug, ich kann sehen, dass die Frage so interpretiert wird. Hoffentlich findet jemand diese Option immer noch nützlich für seinen Anwendungsfall.
Jess Telford
6
window.location.hash = 'whatever';
Daniel Lo Nigro
quelle
5
Das #Präfix ist nicht erforderlich.
Alex
@alex: Ah, ich war mir nicht sicher, ob es erforderlich war oder nicht. window.location.hash gibt den Hash mit dem Präfix # zurück, also habe ich angenommen, dass dies der Fall ist. Danke für die Klarstellung. :)
Daniel Lo Nigro
4
Keine Sorge - und Sie wundern sich, warum es immer zurückgegeben wird.
Alex