Aggiungere un frammento all'URL senza causare un reindirizzamento?


87

C'è un modo per aggiungere l'hash # al mio URL senza reindirizzarlo?

Risposte:


171
window.location.hash = 'something';

Questo è solo un semplice JavaScript.

Il tuo commento...

Ciao, quello che mi serve davvero è aggiungere solo l'hash ... qualcosa del genere: window.location.hash = '#';ma in questo modo non viene aggiunto nulla.

Prova questo...

window.location = '#';

Inoltre, non dimenticare il window.location.replace()metodo.


Ciao, quello di cui ho veramente bisogno è aggiungere solo hash ... qualcosa del genere: window.location.hash = '#'; ma in questo modo non si aggiunge nulla ..
Dee

27

Per HTML semplice, senza JavaScript richiesto:

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

Oppure, per prendere la tua domanda in modo più letterale, aggiungi semplicemente "#" all'URL:

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

non corretto, in quanto è necessario fare clic sul collegamento per modificare l'hash .. quindi manca la parte js in cui si attiva il "clic" ..
Juan

@Juan Perché dobbiamo "attivare" un clic? La domanda originale ha appena chiesto come possiamo aggiungere #l'URL. In realtà facendo clic su un collegamento come ho suggerito lo soddisferai. Nessun JS necessario.
Jess Telford

1
La tua risposta descrive come creare un collegamento che, QUANDO cliccato, aggiunge un frammento all'URL. La domanda chiede come aggiungere un frammento. Quindi alla tua risposta manca l'azione, cioè il "clic"
Juan

2
Giusto, vedo che la domanda viene interpretata in questo modo. Si spera che qualcuno trovi ancora questa opzione utile per il proprio caso d'uso.
Jess Telford

6
window.location.hash = 'whatever';

5
Il #prefisso non è richiesto.
alex

@alex: Ah, non ero troppo sicuro se fosse richiesto o meno. window.location.hash restituisce l'hash con un prefisso #, quindi ho pensato che fosse. Grazie per il chiarimento. :)
Daniel Lo Nigro

4
Nessun problema, e ti viene da chiederti perché lo restituisce sempre.
alex

0

Prova questo

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

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.