Tengo una página de diseño con pestañas donde a cada pestaña se le asigna un #id que se puede llamar al final de la URL: https://example.com/#tab1/
Luego agregué una "pantalla de inicio" en el enlace permanente principal y agregué algo de jQuery para ocultar básicamente el contenido de las páginas de pestañas cuando no se encuentra un hash en la URL y mostrar la pantalla de inicio, y mostrar el contenido de la pestaña cuando se encuentra un hash y ocultar el Pantalla de inicio. Hasta ahora funciona completamente bien.
Ahora tengo una barra de búsqueda dentro de una de las pestañas para buscar el contenido dentro de la página. Mi problema es que cuando se realiza una búsqueda, la URL cambia y elimina el hash, lo que oculta la pestaña y vuelve a la pantalla de inicio. Puedo resolver esto simplemente agregando "/#tab1" al final de la consulta de búsqueda, pero aún no he encontrado una manera de lograrlo.
La consulta de búsqueda agrega "?frm_search=" al final de la URL, así que intento agregar un pequeño código para decir "cuando veas "/frm_search=" en la URL, agrega "/#tab1" al final de la URL.
Esto es lo lejos que he llegado:
jQuery(document).ready( function() { if( pathname.includes('?frm_search') ) { var target="/#tab1"; jQuery('a').attr('href', function(i, currentAttribute){ return currentAttribute + target; }); } });No está trabajando. Lo que termina sucediendo son los siguientes eventos:
Entonces, técnicamente, el código agrega el objetivo correcto al final de la URL cuando ve el nombre de ruta de URL correcto, pero el orden en que lo agrega es incorrecto.
Avíseme si tiene ideas sobre cómo solucionar esto, ¡y gracias de antemano!