Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

97
Visualizações
DIV scrollHeight cambia después de actualizar?

Tengo un sistema de chat casero que escribí para una aplicación web. Originalmente, los chats mostraban los mensajes más recientes en la parte superior, por lo que el usuario no necesitaba desplazarse hacia abajo cada vez para ver el chat más reciente. Esto funcionó bien, pero luego aprendí (en Stackoverflow) el buen truco para usar JS para desplazar el DIV hacia abajo:

 function J_scroll2bottom() { var objDiv = document.getElementById("chat-content-div"); objDiv.scrollTop = objDiv.scrollHeight; }

El área del cuadro de chat está dentro de un IFRAME que contiene el DIV de desplazamiento al que se llama desde el script de chat principal. Este script IFRAME se actualiza cada 20 segundos. Esto funciona muy bien en la llamada de página inicial de Safari, Chrome y Firefox, pero el problema es que cuando el contenido del div se actualiza después de que transcurran los primeros 20 segundos, el contenido DIV de Safari tiene 63 píxeles apagados y no registrará la verdadera altura de desplazamiento. de 1270 píxeles más para el contenido del DIV y ahora registra 1207. Esto deja exactamente una fila de chat oculta debajo de la parte inferior del DIV. Todavía puede desplazarse manualmente el resto del camino, pero lo que me confunde es por qué Safari cambia la altura de desplazamiento del DIV después de la actualización. El contenido del chat en el DIV mismo para la prueba es estático, por lo que el contenido del DIV no cambia entre actualizaciones. Esto no sucede en Chrome o Firefox.

¿Hay alguna otra forma de forzar el desplazamiento en Safari hasta el final? Es extraño que si hay contenido adicional en el DIV, al que puedo desplazarme manualmente, ¿por qué Safari no puede ver su altura actual después de la actualización?

NOTA: Tomé una instantánea de la fuente de la carga inicial y actualicé el código de carga de la página para ver si de alguna manera el código estaba cambiando. Son exactamente lo mismo.

¿Alguna idea? ¿Quizás este es un error conocido en Safari?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda