Desabilitando unload-on-scroll?

Existe alguma maneira de manter as postagens mais antigas carregadas na página enquanto se rola para baixo em um tópico? Isso quebra o funcionamento da pesquisa integrada do navegador, que é menos trabalhosa de usar do que a pesquisa de tópicos do Discourse. Em qualquer lugar da página, basta pressionar Command-F, digitar algum texto e pesquisar rapidamente pelo texto renderizado para encontrar as ocorrências. A pesquisa do Discourse exige que eu role até o topo, clique no ícone de pesquisa, marque a caixa “este tópico” e depois clique nos resultados para ver seu contexto. Toda vez que quero tentar outro resultado, tenho que repetir todo o processo.

Idealmente, seria carregar todo o tópico, em vez de exigir que eu role até o final, mas entendo por que isso não acontece, e pelo menos posso rolar rapidamente até o final com o teclado para carregar mais. Isso seria aceitável, exceto pelo fato de que as postagens anteriores são descartadas conforme eu rolo, tornando-as impossíveis de pesquisar.

Pressione a tecla End no seu teclado ou clique/ toque na data na parte inferior da linha do tempo. Você também pode inserir um tópico na parte inferior clicando no horário do último post ou na contagem de posts.

Existe uma rota especial para impressão que você pode usar para isso, como

https://meta.discourse.org/t/the-state-of-javascript-on-android-in-2015-is-poor/33889/print

(necessário abrir em uma nova aba). Isso carregará até 1000 posts, em uma visualização sem JavaScript.

5 curtidas

A rota “print” é um bom começo, mas ainda não é exatamente o que eu estava procurando.

Em versões mais antigas, eu podia rolar a página para carregar um tópico inteiro (ou apenas a seção relevante para uma sequência específica) e mantê-lo carregado. Depois, usava o SingleFile para exportar um arquivo do tópico completo, exibido exatamente como estava, como uma página de fórum comum. Algo parecido com uma captura de tela, mas menor, rolável, com zoom, links clicáveis, imagens salváveis e texto representado como texto, em vez de pixels. Também dava para preparar a página primeiro, fazendo coisas como expandir o widget “3 respostas”, ocultar spoilers ou até anexar notas privadas no widget de resposta, para serem vistas como parte do arquivo, mas nunca postadas no fórum. Também podia usar o “zapper” do uBlock Origin para remover posts que não eram relevantes para a parte do tópico que eu queria salvar… reduzindo a discussão apenas aos comentários exatos de que eu precisava.

Então, durante uma atualização do Discourse, essa capacidade foi perdida. O máximo que consigo agora é carregar alguns posts por vez. Talvez mais se eu reduzir o zoom ao máximo que o navegador permite, para caber mais posts na tela.

Seria incrível se houvesse uma forma de forçar a página a parar de descarregar posts. Tipo, um atalho de teclado, um botão, um código Konami ou… qualquer coisa. Basta apertar algo para desativar temporariamente a função de JavaScript responsável por descarregar os posts fora da tela, apenas para essa aba do navegador.

Por exemplo, imagine um tópico com 12.000 comentários sobre uma compra em grupo, que se estende por anos, e no meio dele as pessoas conversam sobre gatos por 100 posts antes de voltar ao tópico original. Eu poderia rolar até o início da conversa sobre gatos, pressionar um atalho “parar de descarregar posts” no Discourse, rolar para baixo, usar o zapper do uBlock para remover posts que não são sobre gatos, rolar até o fim da conversa sobre gatos e então pressionar o atalho do SingleFile para salvar o DOM como um arquivo .html.

Eu conseguia fazer isso até o ano passado; não tenho certeza de quando parou de funcionar. Talvez fosse apenas um bug que permitia que funcionasse, já que parece que o comportamento de descarregamento já existia há uma década. Mas eu gostava desse bug e gostaria de poder trazê-lo de volta às vezes.

Sei que isso faria a aba usar muito mais recursos. Tudo bem. Há casos de uso em que “mais conteúdo carregado no DOM” é mais importante do que minimizar o uso de RAM.