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.