Dodać fragment do adresu URL bez powodowania przekierowania?

86

Czy istnieje sposób, jak dodać hash # do mojego adresu URL bez przekierowania?

Dee
źródło

Odpowiedzi:

170
window.location.hash = 'something';

To jest po prostu zwykły JavaScript.

Twój komentarz...

Cześć, naprawdę potrzebuję dodać tylko hash ... coś takiego: window.location.hash = '#';ale w ten sposób nic nie jest dodawane.

Spróbuj tego...

window.location = '#';

Nie zapomnij też o window.location.replace()metodzie.

Alex
źródło
Cześć, naprawdę potrzebuję tylko dodać hash ... coś takiego: window.location.hash = '#'; ale w ten sposób nic nie jest dodawane ..
Dee
27

Dla prostego kodu HTML, bez wymaganego JavaScript:

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

Lub, aby potraktować pytanie bardziej dosłownie, po prostu dodaj „#” do adresu URL:

<a href="#">Add '#' to URL</a>
Jess Telford
źródło
niepoprawne, ponieważ musisz kliknąć link, aby zmienić hash .. więc brakuje ci części js, w której uruchamiasz "kliknięcie" ..
Juan
@Juan Dlaczego musimy „wywołać” kliknięcie? Pierwotne pytanie dotyczyło właśnie tego, jak możemy dodać #do adresu URL. Właściwie kliknięcie linku, jak sugerowałem, spełni to. Nie potrzeba JS.
Jess Telford
1
Twoja odpowiedź opisuje, jak utworzyć link, który po kliknięciu dodaje fragment do adresu URL. Pytanie dotyczy dodania fragmentu. Tak więc w Twojej odpowiedzi brakuje akcji, czyli „kliknięcia”
Juan
2
W porządku, widzę, że pytanie jest interpretowane w ten sposób. Mam nadzieję, że ktoś nadal uzna tę opcję za przydatną w swoim przypadku użycia.
Jess Telford
6
window.location.hash = 'whatever';
Daniel Lo Nigro
źródło
5
#Prefiks nie jest wymagane.
alex
@alex: Ach, nie byłem pewien, czy jest to wymagane, czy nie. window.location.hash zwraca hash z przedrostkiem #, więc założyłem, że tak. Dziękuję za wyjaśnienie. :)
Daniel Lo Nigro
4
Bez obaw - i sprawia, że ​​zastanawiasz się, dlaczego zawsze to zwraca.
alex
0

Spróbuj tego

var URL = "scratch.mit.edu/projects";
var mainURL = window.location.pathname;

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Tladi Ramahata
źródło