¿Agregar un fragmento a la URL sin provocar una redirección?


Respuestas:


170
window.location.hash = 'something';

Eso es simplemente JavaScript.

Tu comentario...

Hola, lo que realmente necesito es agregar solo el hash ... algo como esto: window.location.hash = '#';pero de esta manera no se agrega nada.

Prueba esto...

window.location = '#';

Además, no se olvide del window.location.replace()método.


Hola, lo que realmente necesito es agregar solo hash ... algo como esto: window.location.hash = '#'; pero de esta manera no se agrega nada ..
Dee

27

Para HTML directo, sin necesidad de JavaScript:

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

O, para tomar su pregunta más literalmente, simplemente agregue '#' a la URL:

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

no es correcto, ya que necesita hacer clic en el enlace para cambiar el hash .. por lo que le falta la parte js donde activa el "clic" ..
Juan

@Juan ¿Por qué tenemos que "activar" un clic? La pregunta original acaba de preguntar cómo podemos agregar #a la URL. En realidad, hacer clic en un enlace como sugerí cumplirá con eso. No es necesario JS.
Jess Telford

1
Su respuesta describe cómo crear un enlace que, CUANDO se hace clic, agrega un fragmento a la URL. La pregunta pregunta cómo agregar un fragmento. Entonces, a su respuesta le falta la acción, es decir, el "clic"
Juan

2
Muy bien, puedo ver que la pregunta se interpreta de esa manera. Es de esperar que alguien todavía encuentre útil esta opción para su caso de uso.
Jess Telford

6
window.location.hash = 'whatever';

5
El #prefijo no es obligatorio.
alex

@alex: Ah, no estaba muy seguro de si era necesario o no. window.location.hash devuelve el hash con un prefijo #, así que asumí que sí. Gracias por la aclaración. :)
Daniel Lo Nigro

4
No se preocupe, y le hará preguntarse por qué siempre lo devuelve.
alex

0

Prueba esto

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

if (mainURL == URL) {
    mainURL += ( mainURL.match( /[\?]/g ) ? '&' : '#' ) + '_bypasssharerestrictions_';
    console.log(mainURL)
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.