Pregunta ¿Cómo se puede verificar un #hash en una URL usando JavaScript?


Tengo un código de jQuery JavaScript que quiero ejecutar solo cuando hay un enlace de anclaje hash (#) en una URL. ¿Cómo puedes verificar este personaje usando JavaScript? Necesito una prueba sencilla para detectar URLs como estas:

  • example.com/page.html#anchor
  • example.com/page.html#anotheranchor

Básicamente algo parecido a:

if (thereIsAHashInTheUrl) {        
    do this;
} else {
    do this;
}

Si alguien pudiera señalarme en la dirección correcta, eso sería muy apreciado.


673
2017-11-18 11:35


origen


Respuestas:


Sencillo:

if(window.location.hash) {
  // Fragment exists
} else {
  // Fragment doesn't exist
}

1207
2017-11-18 11:37



  if(window.location.hash) {
      var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
      alert (hash);
      // hash found
  } else {
      // No hash found
  }

271
2017-07-13 16:46



Pon lo siguiente:

<script type="text/javascript">
    if (location.href.indexOf("#") != -1) {
        // Your code in here accessing the string like this
        // location.href.substr(location.href.indexOf("#"))
    }
</script>

45
2017-11-18 11:41



Si el URI no es la ubicación del documento, este fragmento hará lo que usted desee.

var url = 'example.com/page.html#anchor',
    hash = url.split('#')[1];

if (hash) {
    alert(hash)
} else {
    // do something else
}

25
2018-03-08 10:42



¿Has probado esto?

if (url.indexOf("#") != -1)
{
}

(Dónde url es la URL que desea verificar, obviamente).


18
2017-11-18 11:37



$('#myanchor').click(function(){
    window.location.hash = "myanchor"; //set hash
    return false; //disables browser anchor jump behavior
});
$(window).bind('hashchange', function () { //detect hash change
    var hash = window.location.hash.slice(1); //hash to string (= "myanchor")
    //do sth here, hell yeah!
});

Esto solucionará el problema ;)


15
2017-08-31 13:44



window.location.hash 

devolverá el identificador de hash


12
2018-04-27 18:31



... o hay un selector jquery:

$('a[href^="#"]')

10
2018-04-19 13:18