¿Cómo funcionan los sitios web de noticias, por ejemplo? ¿Forbes / Zdnet fusiona perfectamente una página web en otra?

14

Si vas a E.g:

Cuando llegas al final de la página, se carga una nueva noticia y la URL de mi navegador de Internet cambia a la URL de esta próxima noticia. Así que me preguntaba cómo una página web puede cargar casi instantáneamente la próxima página con un retraso casi insignificante entre páginas. ¿Se trata, por ejemplo, de la descarga previa de la página web de la próxima noticia y luego la carga de la página web muy rápido?

    
pregunta zordman 12.06.2015 - 16:45

2 respuestas

25

La respuesta corta es que el código de Javascript del lado del cliente de la página se detecta cuando se "demasiado cerca" de la parte inferior de la página, y le pide al servidor más datos cuando eso sucede.

Sin ser demasiado técnicos, no están recargando la página web completa. En su lugar, el código Javascript de esa página solicita más datos al servidor, luego, cuando recibe los nuevos datos, agrega esos datos a la página actual. Las partes de la página que no necesitan cambiar permanecen sin cambios.

La forma más moderna de hacerlo es utilizar las características de modificación del historial de HTML5 , que parece ser lo que esos sitios están usando.

    
respondido por el Ixrec 12.06.2015 - 16:51
20

Una gran clave para comprender lo que está sucediendo: es posible, a través de Javascript, establecer la URL en la barra de direcciones sin redirigir realmente al usuario. Para ver esto en acción, pegue el siguiente código en la consola de un navegador compatible. Observe que cambia su barra de direcciones a http://programmers.stackexchange.com/yay.html .

history.pushState(null,null,'/yay.html')

El beneficio de este enfoque es que si el usuario marca los marcadores después de desplazarse a una historia, el marcador sabrá dónde enviar al usuario. El desplazamiento infinito de los resultados de búsqueda de DeviantArt es un buen ejemplo de este comportamiento.

    
respondido por el Brian 12.06.2015 - 17:09

Lea otras preguntas en las etiquetas