Ajouter un fragment à l'URL sans provoquer de redirection?

86

Existe-t-il un moyen d'ajouter un hash # à mon URL sans redirection?

Dee
la source

Réponses:

170
window.location.hash = 'something';

C'est juste du JavaScript.

Votre commentaire...

Salut, ce dont j'ai vraiment besoin, c'est de n'ajouter que le hachage ... quelque chose comme ça: window.location.hash = '#';mais de cette façon, rien n'est ajouté.

Essaye ça...

window.location = '#';

N'oubliez pas non plus la window.location.replace()méthode.

Alex
la source
Salut, ce dont j'ai vraiment besoin, c'est d'ajouter uniquement du hachage ... quelque chose comme ceci: window.location.hash = '#'; mais de cette façon rien n'est ajouté ..
Dee
27

Pour du HTML simple, sans JavaScript requis:

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

Ou, pour prendre votre question plus littéralement, ajoutez simplement «#» à l'URL:

<a href="#">Add '#' to URL</a>
Jess Telford
la source
pas correct, car vous devez cliquer sur le lien pour changer le hachage .. il vous manque donc la partie js où vous déclenchez le "clic" ..
Juan
@Juan Pourquoi devons-nous "déclencher" un clic? La question originale demandait simplement comment nous pouvons ajouter le #à l'URL. En fait, cliquer sur un lien comme je l'ai suggéré y répondra. Aucun JS nécessaire.
Jess Telford
1
Votre réponse décrit comment créer un lien qui, LORSQUE vous cliquez dessus, ajoute un fragment à l'URL. La question demande comment ajouter un fragment. Donc, votre réponse manque l'action, c'est-à-dire le "clic"
Juan
2
Très bien, je peux voir la question être interprétée de cette façon. Espérons que quelqu'un trouvera toujours cette option utile pour son cas d'utilisation.
Jess Telford
6
window.location.hash = 'whatever';
Daniel Lo Nigro
la source
5
Le #préfixe n'est pas obligatoire.
alex
@alex: Ah, je ne savais pas trop si c'était nécessaire ou non. window.location.hash renvoie le hachage avec un préfixe #, donc j'ai supposé que c'était le cas. Merci pour la clarification. :)
Daniel Lo Nigro
4
Pas de souci - et vous vous demandez pourquoi il le renvoie toujours.
alex
0

Essaye ça

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

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Tladi Ramahata
la source