Si vas a Eg:
- http://www.forbes.com/sites/adrianbridgwater/2015/06/12/why-technology-has-to-be-continuous/ O
- http://www.zdnet.com/article/if-you-want-those-cool-ios-9-features-its-time-to-buy-a-new-ipad/
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 siguiente página web con un retraso casi insignificante entre las páginas. ¿Están, por ejemplo, descargando previamente la página web de la historia de Next News y luego cargando la página web muy rápido?
End
tecla y verá el retraso del proceso de carga.Respuestas:
La respuesta breve es que el código Javascript del lado del cliente de la página detecta cuándo te acercas "demasiado" al final de la página y le pide al servidor más datos cuando eso sucede.
Sin ser demasiado técnicos, no están recargando toda la página web. En cambio, el código Javascript en esa página solicita más datos del servidor, luego, cuando recibe los nuevos datos, los agrega a la página actual. Las partes de la página que no necesitan cambiar permanecen completamente sin cambios.
La forma más moderna de hacerlo es usar las características de modificación del historial de HTML5 , que parece ser lo que están usando esos sitios.
fuente
/second
), se produce un error. Eso no sucede con el sitio de noticias de OP: cambian la URL precisamente para que pueda compartirla.history.pushState
y lehistory.replaceState
permite cambiar la URL en la barra de direcciones sin salir de la página actual. Es el reemplazo más moderno del viejo truco de cambiar el fragmento de URL (#something
), con una gran ventaja de que la API de historial le permite insertar URL "reales" en las que el servidor puede participar, mientras que el fragmento debe ser completamente compatible del lado del cliente.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 realmente redirigir al usuario. Para ver esto en acción, pegue el siguiente código en la consola de un navegador compatible. Tenga en cuenta que cambia su barra de direcciones a
http://programmers.stackexchange.com/yay.html
.El beneficio de este enfoque es que si los marcadores de usuario después de desplazarse a una historia, el marcador sabrá a dónde enviar al usuario. El desplazamiento infinito de los resultados de búsqueda de DeviantArt es un buen ejemplo de este comportamiento.
fuente
offset
parámetro que salta una cierta distancia en el conjunto de resultados. Dado que el orden de clasificación predeterminado parece ser "popular todo el tiempo", los resultados probablemente sean algo estables, pero definitivamente no si cambia el orden de clasificación a "más nuevo" y busca algo popular.