Il y a plusieurs raisons convaincantes pour lesquelles la réponse est "non".
Certains sites ajoutent du contenu dynamiquement (par exemple Facebook) au moment où vous faites défiler vers le bas, ce sont donc probablement les cas que vous ne recherchez pas.
D'autres sites ajoutent du contenu dynamiquement indépendamment de l'interaction de l'utilisateur (comme le défilement). En principe, ceux-ci pourraient être gérés d'une manière ou d'une autre en empêchant / limitant les connexions Web responsables une fois que la page est pleine. Cependant, essayer de réactiver cela de manière transparente au cas où vous décideriez d'aller à la "page suivante" est probablement voué à l'échec, car on peut s'attendre à ce que les processus aient abandonné en raison de délais d'attente.
Là encore, il y a des pages qui produisent simplement beaucoup de contenu de page, peut-être même du contenu statique. Le client peut simplement couper la connexion une fois qu'il y a suffisamment pour afficher un écran de données, mais cela signifie que pour accéder à la "page suivante", vous devrez recommencer le chargement de la page. Avec de nombreuses pages, cela entraînerait beaucoup de bande passante gaspillée pour des rechargements inutiles; cela peut également ne pas être souhaitable en cas d'effets secondaires (tels que les commandes en ligne). Alternativement, le client peut limiter la connexion TCP jusqu'à ce que vous choisissiez d'aller à la "page suivante". Je crains que les serveurs Web là-bas ne soient pas satisfaits (et abandonnent votre connexion) avec une telle solution car cela gaspille leurRessources. De plus, si vous voulez pouvoir parcourir les pages précédentes, vous avez toujours le problème de devoir garder le contenu complet dans la RAM ou le cache.
Une autre alternative serait de télécharger la page complètement et de l' afficher simplement page par page . Mais cela équivaut à ce que vous avez en ce moment: faites défiler une longue page. Vous pourriez seulement espérer que la majeure partie de l'empreinte mémoire se trouve sur le disque au lieu de la RAM, alors peut-être que cette option n'est pas trop farfelue.
Tout cela ne tient pas compte du fait que la mise en page globale peut nécessiter plus ou moins le contenu de la page complète pour décider à quoi les "pages" doivent ressembler ou où les séparer.
La seule façon vraiment réalisable que je vois est d'utiliser des mécanismes qui permettent l'affichage paginé du contenu a priori non paginé: utiliser un media:print
style, ce qui reviendrait essentiellement à télécharger la page et à faire un aperçu avant impression. Vous avez peut-être déjà remarqué que de nombreuses pages s'affichent terriblement en impression ou en aperçu avant impression, même si de nombreuses options de style sont disponibles pour les développeurs Web pour traiter spécifiquement la pagination, alors imaginez ce que vous obtiendriez. Cependant, si l'on devait l'utiliser comme un addon (par exemple Firefox), le flux de travail serait que la page se télécharge et sera ensuite présentée comme dans l'aperçu de parint. Sans entrer profondément dans les entrailles du navigateur, cela entraînera toujours la pleine page en RAM, donc pas ce que vous recherchez.