Hola, tengo una página web diseñada con el complemento Elementor en wordpress. Hay 4 pestañas en él. He escrito un script para cambiar la URL al hacer clic en la pestaña. Ahora la pregunta es cuando hago clic en cualquier pestaña, está actualizando la página. No quiero actualizar la página. Solo necesito cambiar la pestaña y cambiar la URL según la pestaña.
Enlace del sitio web: https://yourdataconnect.com/company/caterpillar-inc/
Haga clic en el enlace y podrá ver 4 pestañas 1) Índice de monetización de datos 2) Análisis 3) Productos de datos 4) Gasto en gestión de datos
<script> window.onload = function () { var dmi_12 = document.getElementById("elementor-tab-title-1841"); if(window.location.search!=="?DataMonetizationIndex"){ dmi_12.onclick = link; function link(){ window.location.search="?DataMonetizationIndex" } } var ans = document.getElementById("elementor-tab-title-1842"); if(window.location.search!=="?Analysis"){ ans.onclick = link; function link(){ window.location.search="?Analysis" } } var dp = document.getElementById("elementor-tab-title-1843"); if(window.location.search!=="?DataProducts"){ dp.onclick = link; function link(){ window.location.search="?DataProducts" } } var dme = document.getElementById("elementor-tab-title-1844"); if(window.location.search!=="?DataManagementSpend"){ dme.onclick = link; function link(){ window.location.search="?DataManagementSpend" } } } document.addEventListener('DOMContentLoaded', function() { setTimeout(function() { jQuery(function($){ let desktoptitles = $('.elementor-tab-desktop-title'); let mobiletitles = $('.elementor-tab-mobile-title'); let strings = ['?DataMonetizationIndex', '?Analysis','?DataProducts','?DataManagementSpend' ]; strings.forEach( (string,i) => { if (window.location.href.indexOf(string) > -1) { desktoptitles.eq(i).click(); mobiletitles.eq(i).click(); $('html, body') } } ); }); }, 1200); }); </script>alguien me puede ayudar en esto
Puede echar un vistazo más de cerca a pushState desde history-api . Allí puede simplemente agregar una nueva entrada de historial sin recargar la página. Para su escenario, el ejemplo con el cambio de parámetro de consulta podría ser el más interesante.
const url = new URL(window.location); url.searchParams.set('foo', 'bar'); window.history.pushState({}, '', url);