Estaba buscando una solución para tener una determinada pestaña abierta cuando la página fue vista por Url Parameter. He visto algunos ejemplos pero no parecen funcionar. Tal vez sean demasiado viejos para trabajar con javascript actual. Esto es lo que he encontrado:
var tabName = (window.location.href.match(/[?&]tab-name=[^&$]+/i) || '=').split('=')[1]; tabName='profile'; // remove this line on real page if(tabName.length) $('#myTabs .nav-link[href="#' + tabName + '"]').tab('show'); Lo anterior funciona bien con // eliminar esta línea en la página real, en su lugar. una vez que se saca y se basa en la variable. La ventana de la consola dice (window.location.href.match(/[?&]tab-name=[^&$]+/i) || '=').split('=')[1]; no es una función correcta.
Yo tengo esto y tampoco parece funcionar. Obtiene el parámetro, pero aún debe eliminarse para obtener solo el parámetro para abrir la pestaña.
$(document).ready(function () { const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); var tabName = params; if (tabName.length) $('#myTabs .nav-link[href="#' + tabName + '"]').tab('show'); debugger });Cualquier ayuda sería apreciada..
Conseguí que esto funcionara haciéndolo de esta manera...
$(document).ready(function () { let params = new URLSearchParams(document.location.search.substring(1)); let name = params.get("name"); if (name.length) $('#myTabs .nav-link[href="#' + name + '"]').tab('show'); //debugger }); La URL es myAddress.com/Profile?name=settings Extraño, cuando usé la palabra tabName esto no funcionó, pero el name sí.