Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Ocultar contenido hasta que la página tenga un reinicio forzado

Siendo analfabeto semi-JS, no puedo escribir mi propio código. ¿Puedo obtener ayuda aquí?

Lo que estoy tratando de hacer: evitar que una página muestre contenido hasta después de una actualización forzada de 3 segundos.

Tengo una página de agradecimiento de HubSpot que muestra datos personalizados basados en un formulario completado en la página anterior (sé que puedo personalizar el código JS de HubSpot para hacer esto, pero como la página ya está creada, no puedo colocar un código de formulario personalizado. ) El problema es que los datos de personalización no llegan hasta mucho después de que se carga la página (por lo que los usuarios ven primero los valores predeterminados).

Tengo un código JS que fuerza la actualización después de 3 segundos, pero no puedo descifrar cómo coordinar la ocultación del contenido predeterminado hasta esa actualización forzada:

 console.log(document.referrer); console.log(document.location.href); if (document.referrer !== document.location.href) { setTimeout(function() { document.location.reload() }, 3000); }

Intenté agregar este CSS: body { opacity: 0; } , junto con este JS: document.body.style.opacity="100";

... agregándolo después de setTimeout, agregándolo después de la recarga del documento y agregándolo como una nueva función a la recarga. El mejor resultado fue un destello de contenido visible a los 3 segundos, luego todo el contenido desapareció de forma permanente.

Entonces simplemente decidí escribir una función setTimeout completamente separada fuera de la instrucción IF (con la esperanza de que simplemente se sincronice), pero aún muestra contenido en blanco para todos:

 window.onload = function() { setTimeout(function(){ document.body.style.opacity="100"; },3000); };

Lo siento, no sé lo suficiente sobre JavaScript para pintar mi salida. ¿Alguien puede ayudarme a acercarme a la forma correcta de ocultar contenido hasta una actualización forzada?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este es mi código final, al menos parece funcionar:

 <style> #hs_cos_wrapper_widget { opacity: 0; } </style> <script> function showContent() { document.getElementById("hs_cos_wrapper_widget").style.opacity = "1"; } setTimeout("showContent()", 4000); console.log(document.referrer); console.log(document.location.href); if (document.referrer !== document.location.href) { setTimeout(function() { document.location.reload(); }, 3000); } </script>

Lo único que no me gusta es que la página ahora tarda más de 9 segundos en cargarse (un precargador estaría bien). Una solución más elegante es más que bienvenida.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda