Estoy tratando de llamar a la función de JavaScript cuando # está presente en la URL. Sé que el comportamiento normal es navegar/desplazarse a la etiqueta específica. Pero no pude encontrar cómo invocar una función de JavaScript.
El siguiente ejemplo está cerca pero no resuelve mi problema.
Es posible que pueda aprovechar el evento hashchange para activar la función, suponiendo que no solo desee seguir sondeando la ubicación para ver si cambia.
DOCUMENTOS: https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event
Este fragmento de código agregará el oyente a la página actual, luego manipulará el hash y activará la función, mostrando el nuevo valor hash. Podrías llamar a cualquier función aquí.
window.addEventListener('hashchange', function() { alert(location.hash); }); window.location += "#test";var hash = window.location.hash; if(hash){ // do something }use una función location.hash resolverá su problema
var hash = window.location.hash.replace(/#/g, ''); if(hash){ // found a hash console.log("heyy I found a hash")' } else{ // did not find a hash console.log("Uh oh") /* try using : window.location = window.location + '#' + "some random variable" to create a new URL and every time the page loads find the hash and display the wanted data. */ }PD: esto solo funciona si su URL es como ejemplo.com/#xyz, entonces le dará xyz como salida de la consola. Esto puede sonar vago, pero si lo hace, puede obtener una idea.