Je déteste les sites avec défilement infini, principalement parce qu'ils utilisent toute ma RAM. Existe-t-il un moyen de convaincre les sites Web de ne pas charger de cette façon? Peut-être une extension de navigateur qui la transforme en pages distinctes? Un moyen pour que le navigateur signale qu'il ne le prend pas en charge? Quelque chose que je pourrais désinstaller?
21
Réponses:
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.la source
Lorsque vous utilisez Firefox, vous pouvez utiliser le module complémentaire Kill Infinite Scroll , actuellement à la version 0.79.4.
Ce module complémentaire est décrit comme suit:
Je crois que restaurer les boutons Suivant et Précédent est préférable à simplement détruire le défilement, car on peut toujours faire défiler mais l'utilisation de la mémoire restera à peu près constante.
Sinon, pour détruire le défilement, je suggère que plutôt que d'utiliser Adblock, vous feriez mieux d'utiliser une extension comme NoScript pour interdire tout javascript sur tous les sites Web à l'exception de ceux en lesquels vous avez confiance (ou au moins interdire le javascript tiers). Il s'agit en fait d'un mécanisme de défense que tout le monde devrait utiliser contre les virus de lecteur par navigateur. Chaque fois que vous souhaitez réactiver le défilement temporairement, vous pouvez le faire en autorisant temporairement les scripts (qui restent en vigueur jusqu'à la fermeture du navigateur).
la source
Vous pouvez utiliser AdBlock / uBlock pour bloquer le code qui charge la page suivante. C'est grossier, mais ça marche, par exemple:
J'ai également essayé ces derniers mais ils n'ont pas fonctionné:
Mais quelqu'un qui est bon avec les règles de filtrage Adblock (pas moi) pourrait développer une liste de blocage pour bloquer le défilement infini sur de nombreux sites.
Ou utilisez des modules complémentaires ou des scripts utilisateur pour remplacer ce comportement et le remplacer par quelque chose de plus convivial.
Ce module complémentaire le désactive sur Tumblr, par exemple: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Il charge toujours une nouvelle page automatiquement lorsque vous atteignez le bas, ce qui est ennuyeux, mais il remplace la page actuelle au lieu de l'ajouter, et démontre une preuve de concept de ce qui pourrait exister.
J'ai essayé de commencer une liste ici, mais je ne suis pas un expert des règles Adblock:
https://gist.github.com/endolith/72ac5e69e037be02b118adbedcdeac59/
la source