¿Puedo desactivar el desplazamiento infinito para todos los sitios?

21

Odio los sitios con desplazamiento infinito, principalmente porque usan toda mi RAM. ¿Hay alguna forma de convencer a los sitios web de que no carguen de esta manera? ¿Tal vez una extensión de navegador que lo convierta en páginas separadas? ¿Una forma de hacer que el navegador informe que no es compatible? ¿Algo que pueda desinstalar?

fbo
fuente
66
Puedes deshabilitar JavaScript. Pero cualquier otra cosa sería imposible sin el propio sitio web que admite la paginación.
slhck
¿bloquear el javascript específico que causa el desplazamiento infinito?
endolito
@endolith: Existen diferentes soluciones para diferentes sitios web, ya que cada una implementa un desplazamiento infinito de manera diferente. Indique cuáles son los sitios web principales que le causan problemas.
harrymc
@harrymc Quiero bloquearlos a todos. Una lista de filtros adblock que bloquea la mayor cantidad posible, por ejemplo.
endolito
@endolith: necesitará varias reglas de bloqueo de anuncios para varios sitios. Y además, lo que realmente desea es convertir el desplazamiento en los botones normales Siguiente / Anterior. Está disponible para algunos sitios web, como Wordpress.
harrymc

Respuestas:

4

Hay varias razones convincentes por las cuales la respuesta es "no".

Algunos sitios agregan contenido dinámicamente (por ejemplo, Facebook) en el momento en que se desplaza hacia abajo, por lo que estos son probablemente los casos que no busca.

Otros sitios agregan contenido dinámicamente independiente de la interacción del usuario (como el desplazamiento). En principio, esto podría manejarse de alguna manera evitando / estrangulando las conexiones web responsables una vez que la página esté llena. Sin embargo, tratar de volver a habilitarlo de manera transparente en caso de que decida ir a la "página siguiente" probablemente esté condenado, ya que uno puede esperar que los procesos se hayan dado por vencidos debido a los tiempos de espera.

Por otra parte, hay páginas que simlpy generan gran cantidad de contenido de la página, tal vez incluso contenido estático. El cliente podría simplemente cerrar la conexión una vez que haya suficiente para procesar una pantalla llena de datos, pero eso significa que para llegar a la "página siguiente", tendría que comenzar a cargar la página nuevamente. Con muchas páginas, esto provocaría una gran cantidad de ancho de banda desperdiciado para recargas inútiles; Además, esto puede no ser deseable en caso de efectos secundarios (como pedidos en línea). Alternativamente, el cliente puede limitar la conexión TCP hasta que seleccione ir a la "página siguiente". Me temo que los servidores web no estarán contentos (y desconectarán su conexión) con tal solución porque desperdicia surecursos Además, si desea poder volver a las páginas anteriores, todavía tiene el problema de tener que mantener todo el contenido en RAM o caché.

Otra alternativa sería descargar la página por completo y simplemente mostrarla en la página. Pero eso es equivalente a lo que tienes ahora: desplázate por una página larga. Es posible que solo espere que la mayor parte de la huella de la memoria esté en el disco en lugar de la RAM, por lo que tal vez esta opción no sea demasiado descabellada.

Todo esto no tiene en cuenta que el diseño general puede requerir más o menos contenido de la página completa para decidir cómo deberían ser las "páginas" o dónde dividir las páginas.

La única forma realmente factible que veo es hacer uso de mecanismos que permitan la visualización paginada del contenido no paginado a priori: usar el media:printestilo, que esencialmente equivaldría a descargar la página y hacer una vista previa de impresión. Es posible que ya haya observado que muchas páginas se muestran terriblemente en la impresión o en la vista previa de la impresión, aunque hay muchas opciones de estilo disponibles para que los desarrolladores web aborden específicamente la paginación, así que imagine lo que obtendría. Sin embargo, si uno empleara esto como un complemento (por ejemplo, Firefox), el flujo de trabajo sería que la página se descargara y luego se presentaría como en una vista previa de parint. Sin ir más profundamente en las entrañas de la del navegador, esto todavía dar lugar a que toda página celebrada en la memoria RAM, por lo que no es lo que está después.

Hagen von Eitzen
fuente
4

Cuando se usa Firefox, se puede usar el complemento Kill Infinite Scroll , actualmente en la versión 0.79.4.

Este complemento se describe como:

Esto deshabilita el desplazamiento infinito utilizado por Tumblr y otros sitios. En particular, paraliza los scripts de http://www.infinite-scroll.com (versión 1.4 y 2.0). A diferencia del complemento Anti Tumblr Infinite Scroll, solo restaura los botones Siguiente y Prev originales.

Creo que restaurar los botones Siguiente y Anterior es preferible a simplemente destruir el desplazamiento, ya que uno puede desplazarse pero el uso de la memoria se mantendrá casi constante.

De lo contrario, para destruir el desplazamiento, sugiero que, en lugar de usar Adblock, es mejor que use una extensión como NoScript para no permitir todos los javascript en todos los sitios web, excepto en los que confía (o al menos no permitir javascript de terceros). Este es en realidad un mecanismo de defensa que todos deberían usar contra los virus drive-by-browser. Siempre que desee volver a habilitar el desplazamiento temporalmente, puede hacerlo permitiendo temporalmente las secuencias de comandos (que permanecen vigentes hasta que se cierra el navegador).

harrymc
fuente
He usado noscript en el pasado y rompe demasiadas cosas para que valga la pena. Sin embargo, Yesscript es probablemente una buena idea. No lo he usado en mucho tiempo.
endolito
@endolith: NoScript funciona muy bien para mí después de que permití permanentemente algunos sitios de script de uso frecuente. El problema con YesScript es que, por defecto, deja pasar todo, por lo que el virus se instalará antes de que se dé cuenta.
harrymc
1
En mi experiencia, noscript se rompió un 90% si todo lo que visitaba y pasaba más tiempo permitiendo scripts que viendo sitios. Esta pregunta es sobre el desplazamiento infinito, no los virus
endolito
4

Puede usar AdBlock / uBlock para bloquear el código que carga la página siguiente. Esto es crudo, pero funciona, por ejemplo:

! Forbes infinite scroll (and all other AJAX) https://www.reddit.com/r/web_design/comments/4i6bpd/never_ending_scroll_down_on_some_websites_is_it_a/d2w3qj2
||forbes.com$xmlhttprequest

También probé estos pero no funcionaron:

! Forbes infinite scroll https://adblockplus.org/forum/viewtopic.php?t=26583
||i.forbesimg.com/assets/img/loading_spinners/*
||forbesimg.com/scripts/combined/js/article-responsive*

! Bloomberg infinite scroll http://www.wilderssecurity.com/threads/ublock-origin-stopping-infinite-scrolling.379726/#post-2525404
bloomberg.com http://assets.bwbx.io/business/public/javascripts/application script block

Pero alguien que sea bueno con las reglas de filtro de Adblock (no yo) podría desarrollar una lista de bloqueo para bloquear el desplazamiento infinito en muchos sitios.

O utilice complementos o scripts de usuario para anular este comportamiento y reemplazarlo con algo más fácil de usar.

Este complemento lo deshabilita en Tumblr, por ejemplo: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Todavía carga una nueva página automáticamente cuando llega la parte inferior, lo cual es molesto, pero reemplaza la página actual en lugar de agregarla, y demuestra una prueba de concepto de lo que podría existir.

He intentado comenzar una lista aquí, pero no soy un experto en las reglas de Adblock:

https://gist.github.com/endolith/72ac5e69e037be02b118adbedcdeac59/

endolito
fuente