Wenn Sie zB gehen:
- http://www.forbes.com/sites/adrianbridgwater/2015/06/12/why-technology-has-to-be-continuous/ OR
- http://www.zdnet.com/article/if-you-want-those-cool-ios-9-features-its-time-to-buy-a-new-ipad/
Wenn Sie am Ende der Seite angelangt sind, wird ein neuer Nachrichtenartikel geladen und die URL in meinem Internetbrowser ändert sich in die URL dieses nächsten Nachrichtenartikels. Also habe ich mich gefragt, wie eine Webseite die nächste Webseite fast sofort mit einer fast vernachlässigbaren Verzögerung zwischen den Seiten laden kann. Laden sie zum Beispiel die Webseite der Next News Story vor und laden sie die Webseite dann wirklich schnell?
End
Taste gedrückt halten , wird die Verzögerung des Ladevorgangs angezeigt.Antworten:
Die kurze Antwort ist, dass der clientseitige Javascript-Code der Seite erkennt, wenn Sie sich dem unteren Rand der Seite "zu nah" befinden, und den Server in diesem Fall nach weiteren Daten fragt.
Ohne zu technisch zu werden, wird nicht die gesamte Webseite neu geladen. Stattdessen fordert der Javascript-Code auf dieser Seite weitere Daten vom Server an. Wenn er die neuen Daten empfängt, fügt er diese Daten der aktuellen Seite hinzu. Die Teile der Seite, die nicht geändert werden müssen, bleiben vollständig unverändert.
Die modernste Methode hierfür ist die Verwendung der HTML5-Funktionen zur Änderung des Verlaufs , die anscheinend von diesen Websites verwendet werden.
quelle
/second
), tritt ein Fehler auf. Bei der News-Site von OP ist das nicht der Fall - sie ändern die URL genau, damit Sie sie teilen können.history.pushState
undhistory.replaceState
lassen Sie die URL in der Adressleiste ändern, ohne von der aktuellen Seite weg zu navigieren. Es ist der modernere Ersatz für den älteren Trick, das URL-Fragment (#something
) zu ändern. Ein großer Vorteil ist, dass Sie mit der Verlaufs-API "echte" URLs übertragen können, an deren Generierung der Server teilnehmen kann, während das Fragment vollständig unterstützt werden muss von der Client-Seite.Ein wichtiger Schlüssel zum Verständnis des Geschehens: Es ist möglich, über Javascript die URL in der Adressleiste festzulegen, ohne den Benutzer tatsächlich umzuleiten. Fügen Sie den folgenden Code in die Konsole eines unterstützten Browsers ein, um dies in Aktion zu sehen. Beachten Sie, dass sich Ihre Adressleiste in ändert
http://programmers.stackexchange.com/yay.html
.Der Vorteil dieses Ansatzes besteht darin, dass das Lesezeichen weiß, wohin es den Benutzer senden soll, wenn der Benutzer nach dem Scrollen zu einer Story ein Lesezeichen erstellt. Das unendliche Scrollen der Suchergebnisse in DeviantArt ist ein gutes Beispiel für dieses Verhalten.
quelle
offset
Parameter, der eine bestimmte Distanz in die Ergebnismenge überspringt. Da die Standardsortierreihenfolge "immer beliebt" zu sein scheint, sind die Ergebnisse wahrscheinlich etwas stabil, aber definitiv nicht, wenn Sie die Sortierreihenfolge auf "am neuesten" ändern und nach etwas Populärem suchen.