Posso desativar a rolagem infinita para todos os sites?

21

Eu odeio sites com rolagem infinita, principalmente porque eles usam toda a minha RAM. Existe alguma maneira de convencer os sites a não carregar dessa maneira? Talvez uma extensão do navegador que a torne novamente em páginas separadas? Uma maneira de fazer com que o navegador relate que ele não é compatível? Algo que eu poderia desinstalar?

fbo
fonte
6
Você pode desativar o JavaScript. Mas qualquer outra coisa seria impossível sem o próprio site suportando paginação.
slhck
adblock o javascript específico que causa a rolagem infinita?
Endolith
@endolith: Existem soluções diferentes para sites diferentes, já que cada um implementa a rolagem infinita de maneira diferente. Indique quais são os principais sites que causam problemas.
26917 harrymc
@harrymc Eu quero bloquear todos eles. Uma lista de filtros de bloqueio de anúncios que bloqueia o maior número possível, por exemplo.
Endolith
@ endolith: você precisará de várias regras de bloqueio de anúncios para vários sites. Além disso, o que você realmente deseja é converter a rolagem nos botões normais Próximo / Anterior. Está disponível para alguns sites, como o Wordpress.
harrymc

Respostas:

4

Existem várias razões convincentes pelas quais a resposta é "não".

Alguns sites adicionam conteúdo dinamicamente (por exemplo, facebook) no momento em que você rola para baixo; portanto, esses são provavelmente os casos que você não procura.

Outros sites adicionam conteúdo dinamicamente, independentemente da interação do usuário (como rolagem). Em princípio, eles podem ser gerenciados de alguma forma, impedindo / limitando as conexões da web responsáveis ​​quando a página estiver cheia. No entanto, tentar reativar isso de forma transparente, caso você decida ir para a "página seguinte", provavelmente está condenado, pois é de se esperar que os processos tenham desistido por causa de tempos limite.

Então, novamente, há páginas que simplesmente produzem muito conteúdo da página, talvez até conteúdo estático. O cliente pode simplesmente matar a conexão quando houver o suficiente para renderizar uma tela cheia de dados, mas isso significa que, para chegar à "página seguinte", você precisará começar a carregar a página novamente. Com muitas páginas, isso causaria muita largura de banda desperdiçada em recargas inúteis; também isso pode não ser desejável em caso de efeitos colaterais (como pedidos on-line). Como alternativa, o cliente pode limitar a conexão TCP até você optar por ir para a "próxima página". Receio que os servidores da Web não fiquem felizes (e desconectem sua conexão) dessa solução, porque desperdiçam aRecursos. Além disso, se você quiser voltar às páginas anteriores, ainda terá o problema de precisar manter o conteúdo completo na RAM ou no cache.

Outra alternativa seria fazer o download da página completamente e simplesmente exibi- la na página. Mas isso é equivalente ao que você tem agora: role uma página longa. Você pode esperar que a maior parte do espaço ocupado pela memória esteja no disco, e não na RAM, portanto, talvez essa opção não seja exagerada.

Tudo isso não leva em conta que o layout geral pode exigir mais ou menos o conteúdo da página para decidir como devem ser as "páginas" ou onde quebrar as páginas.

A única maneira realmente viável que vejo é fazer uso de mecanismos que permitam a exibição paginada do conteúdo não-paginado a priori: usar media:printestilo, o que equivaleria essencialmente a baixar a página e fazer uma visualização impressa. Você já deve ter observado que muitas páginas são exibidas de maneira impressionante na impressão ou na visualização de impressão, embora muitas opções de estilo estejam disponíveis para os desenvolvedores da Web para abordar a paginação especificamente, então imagine o que você obteria. No entanto, se alguém empregar isso como um complemento (por exemplo, Firefox), o fluxo de trabalho será o download da página e será apresentado como na pré-visualização. Sem se aprofundar nas entranhas do navegador, isso ainda resultará na retenção da página inteira na RAM, e não no que você procura.

Hagen von Eitzen
fonte
4

Ao usar o Firefox, pode-se usar o complemento Kill Infinite Scroll , atualmente na versão 0.79.4.

Este complemento é descrito como:

Isso desativa a rolagem infinita usada pelo Tumblr e outros sites. Em particular, isso paralisa os scripts do http://www.infinite-scroll.com (versão 1.4 e 2.0). Ao contrário do complemento Anti Tumblr Infinite Scroll, ele apenas restaura os botões Próximo e Anterior originais.

Acredito que é preferível restaurar os botões Avançar e Prev apenas do que destruir a rolagem, pois ainda é possível rolar, mas o uso da memória permanecerá constante.

Caso contrário, para destruir o pergaminho, sugiro que, em vez de usar o Adblock, é melhor usar uma extensão como NoScript para proibir todo o javascript em todos os sites, exceto aqueles em que você confia (ou pelo menos não o javascript de terceiros). Na verdade, esse é um mecanismo de defesa que todos deveriam usar contra vírus drive-by-browser. Sempre que desejar reativar temporariamente a rolagem, você pode fazer isso permitindo temporariamente os scripts (que permanecem em vigor até o navegador ser fechado).

harrymc
fonte
Eu usei noscript no passado e quebra muitas coisas para valer a pena. O Yesscript provavelmente é uma boa ideia. Eu não uso isso há algum tempo.
endolith 27/05
@ endolith: NoScript funciona muito bem para mim depois que eu permanentemente permiti alguns sites de script usados ​​com frequência. O problema com o YesScript é que, por padrão, ele deixa tudo passar, para que o vírus seja instalado antes que você perceba.
28917 harrymc
1
Na minha experiência, o noscript quebrou 90% se tudo o que eu visitei e eu gastei mais tempo permitindo scripts do que visualizando sites. Esta questão é sobre vírus de rolagem infinita e não
endolith 27/05
4

Você pode usar o AdBlock / uBlock para bloquear o código que carrega a próxima página. Isso é bruto, mas funciona, por exemplo:

! 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

Eu também tentei estes, mas eles não funcionaram:

! 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

Mas alguém que seja bom com as regras de filtro do Adblock (não eu) poderia desenvolver uma lista de bloqueio para bloquear a rolagem infinita em muitos sites.

Ou use Complementos ou Scripts do usuário para substituir esse comportamento e substituí-lo por algo mais amigável.

Esse complemento o desativa no Tumblr, por exemplo: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Ainda carrega uma nova página automaticamente quando você acessa a parte inferior, o que é irritante, mas substitui a página atual em vez de anexá-la e demonstra uma prova de conceito do que poderia existir.

Tentei iniciar uma lista aqui, mas não sou especialista nas regras do Adblock:

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

endólito
fonte