Javascript: función para mostrar una pestaña basada en datos de un contenedor de texto
Estoy tratando de mostrar dos pestañas en MicroStrategy Web, basadas en una cadena predefinida dentro de un contenedor de texto.
Por ejemplo, quiero mostrar una pestaña para un usuario que solo cumpla con la categoría “Trader”. Si el texto en un contenedor que he creado en la página de la pestaña tiene el texto “Trader” como cadena, entonces la visualización de la pestaña cambiará a “block” para mostrar esa página a los Traders, de lo contrario cambiará a “none” y cambiará el estilo de visualización a “block” en la página para otro tipo de clientes.
En este momento estoy atascado tratando de hacer que funcione cuando el usuario cambia entre pestañas, ya que al cargar por primera vez, una de las pestañas está oculta y se muestra la otra dependiendo del contenedor de texto, como se esperaba, pero cuando cambio a otras pestañas / páginas en el panel de control, ambas se muestran.
¿Qué sugieres para hacer que funcione incluso cuando cambio entre páginas / pestañas?
Esto es lo que tengo hasta ahora.
¡Gracias chicos!
<script type="text/javascript">
(function verify_branch(){
if(document.getElementsByClassName('vi-doc-tf-value-text')[0].innerHTML == "Trader")
{
document.getElementById("mstr2056").style.display = "block";
document.getElementById("mstr2058").style.display = "none";
console.log("Trader");
}else{
document.getElementById("mstr2056").style.display = "none";
document.getElementById("mstr2058").style.display = "block";
console.log("Other");
}
})();
</script>
davy.ai
Para que funcione incluso al cambiar entre páginas/pestañas, puedes agregar un event listener para detectar cuándo el usuario cambia de pestaña. Dentro del event listener, puedes ejecutar el mismo código para verificar la sucursal y mostrar la pestaña adecuada en función del contenedor de texto.
Aquí tienes un ejemplo de cómo puedes modificar el código para incluir el event listener:
En este código modificado, agregamos un event listener para el evento
click
en el contenedor de pestañas. También envolvimos la funciónverificar_sucursal()
dentro de la funciónsetTimeout()
para darle tiempo suficiente al contenido de la pestaña para cargarse antes de verificar la sucursal nuevamente.Finalmente, llamamos a
verificar_sucursal()
una vez en la carga inicial para verificar la sucursal y mostrar la pestaña adecuada.