Come fanno i siti Web delle notizie? Forbes / Zdnet uniscono senza interruzioni una pagina web in un'altra?

14

Se vai a E.g:

Quando arrivi in fondo alla Pagina, viene caricata una storia di una nuova notizia e l'URL nel mio browser Internet cambia nell'URL di questa notizia successiva. Quindi mi stavo chiedendo come una pagina web possa caricare quasi istantaneamente la prossima pagina web con un ritardo quasi trascurabile tra le pagine. Per esempio, stanno scaricando la pagina Web della storia di Next News e poi caricando la pagina Web molto velocemente?

    
posta zordman 12.06.2015 - 16:45
fonte

2 risposte

25

La risposta breve è che il codice JavaScript della pagina sul lato client rileva quando ci si avvicina "troppo vicino" alla parte inferiore della pagina e chiede al server ulteriori dati quando ciò accade.

Senza essere troppo tecnici, non stanno ricaricando l'intera pagina web. Invece il codice Javascript su quella pagina richiede più dati dal server, quindi quando riceve i nuovi dati, aggiunge quei dati alla pagina corrente. Le parti della pagina che non devono essere modificate rimangono completamente invariate.

Il modo più moderno per farlo consiste nell'utilizzare le funzioni di modifica della cronologia HTML5 , che sembrano essere quelle utilizzate da quei siti.

    
risposta data 12.06.2015 - 16:51
fonte
20

Una grande chiave per capire cosa sta succedendo: è possibile, tramite Javascript, impostare l'URL nella barra degli indirizzi senza reindirizzare effettivamente l'utente. Per vederlo in azione, incolla il codice seguente nella console di un browser supportato. Nota che modifica la barra degli indirizzi in http://programmers.stackexchange.com/yay.html .

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

Il vantaggio di questo approccio è che se i segnalibri dell'utente dopo lo scorrimento di una storia, il segnalibro saprà dove inviare l'utente. Lo scrolling infinito dei risultati di ricerca di DeviantArt è un bell'esempio di questo comportamento.

    
risposta data 12.06.2015 - 17:09
fonte