Quiero que un pop up no se vuelva a cargar al navegar por las diferentes pestaña

  • Quiero que un pop up no se vuelva a cargar al navegar por las diferentes pestaña

    Discusión creada por Pila Vicente Toral el 5 de mayo de 2026 en 11:34 AM

    Hola,

    estoy trabajando con DIVI 5

    en mi página de inicio, en la primera sección, he creado 2 interacciones
    1ª Interacción – Al cargar la página – se abre un canvas que sólo tiene un módulo de vídeo
    2ª Interacción – al cargar la página – con un retardo de 8 seg desaparece el canvas.
    Hasta aquí todo correcto.
    Pero cada vez que navego por la misma y vuelvo al inicio, se vuelve a repetir las 2 interacciones.
    ¿Como puedo hacer para que no se vuelva a cargar las 2 interacciones?
    ¿Alguien me puede ayudar? Os lo agradecería mucho.

    Pilar

    Pila Vicente Toral ha respondido hace 3 dias, 17 horas 2 Miembros · 3 Respuestas
  • 3 Respuestas
  • Jefferson Maldonado

    organizador
    5 de mayo de 2026 en 6:08 PM

    Hola Pilar, te explico.

    Esto pasa porque las interacciones nativas de Divi 5 se ejecutan en cada carga de la página, no tienen una opción nativa de «mostrar solo una vez». Pero se resuelve fácil con un pequeño snippet que usa la memoria del navegador para recordar que ya viste el video durante la sesión.

    Pasos:

    1. Edita la sección o módulo que actúa como canvas (el que se abre con el video). En la pestaña Avanzado → Clase CSS, añade: pilar-video-popup
    2. Ve a Divi → Opciones del tema → Integración → «Añadir código al head» y pega esto:
    <script> (function () { if (sessionStorage.getItem('videoIntroVisto') === 'true') { var style = document.createElement('style'); style.textContent = '.pilar-video-popup { display: none !important; }'; document.head.appendChild(style); } else { sessionStorage.setItem('videoIntroVisto', 'true'); } })(); </script>
    1. Guarda y prueba. Recarga la home y verás el video. Navega a otra página y vuelve al inicio, el canvas ya no aparecerá. Si cierras el navegador y vuelves a entrar, el video se mostrará de nuevo en la nueva sesión.

    Si prefieres que no se muestre durante 7 días en lugar de solo la sesión, cambia sessionStorage por localStorage en el código.

    Cuéntame si te funciona.

    Un abrazo, Jefferson

  • Pila Vicente Toral

    Miembro
    6 de mayo de 2026 en 3:02 AM

    Muchas gracias pero no funciona, sigue apareciendo el video.

  • Pila Vicente Toral

    Miembro
    6 de mayo de 2026 en 3:16 AM

    Los chicos de Themes Elegants me propone lo siguiente (lo he traducido con google)

    Sí, Pilar. Para que se ejecute solo en la primera visita, usa una cookie para que la interacción se omita después de la primera vez.

    Haz lo siguiente:

    • En tu primera interacción de «Cargar» (la que abre el lienzo), añade un efecto llamado «Añadir cookie» (establece una cookie como homepage_intro_seen con cualquier valor).

    • Luego, añade una condición a esa misma interacción para que solo se ejecute si la cookie no existe (de esta forma, se ejecutará en la primera visita y no en las siguientes).

    Así, la introducción se reproducirá una sola vez por visitante y nunca más.

    Sí, Pilar. Añades la cookie como un efecto dentro de la misma interacción (no como una interacción aparte).

    Haz lo siguiente:

    • Abre el elemento que contiene tu interacción de «Cargar» (la que muestra el lienzo).

    • Ve a Avanzado → Interacciones y abre esa interacción.

    • En la interacción, añade un efecto llamado «Añadir cookie».

    • Establece el nombre de la cookie (ejemplo: homepage_intro_seen) y un valor (ejemplo: true).

    De esta forma, se produce una interacción con dos efectos: mostrar el lienzo y, a continuación, añadir la cookie (ambos al cargar la página).

    Lo pruebo y os digo

Inicia sesión para responder.