Désactiver unload-on-scroll ?

Existe-t-il un moyen de garder les anciens posts chargés sur la page lors du défilement vers le bas dans un sujet ? Cela pose problème avec la fonctionnalité de recherche intégrée du navigateur, qui est moins encombrante à utiliser que la recherche de sujets de Discourse. N’importe où sur la page, je peux simplement appuyer sur Commande-F, entrer du texte, puis parcourir rapidement le texte tel qu’il est affiché pour trouver des occurrences. La recherche de Discourse m’oblige à remonter en haut, cliquer sur l’icône de recherche, cocher la case « ce sujet », puis cliquer sur les résultats pour voir leur contexte. À chaque fois que je veux essayer un autre résultat, je dois répéter cette opération.

Idéalement, cela chargerait tout le fil de discussion, plutôt que de m’obliger à descendre jusqu’en bas, mais je comprends pourquoi ce n’est pas le cas, et au moins je peux descendre rapidement au clavier pour charger plus de contenu. Ce serait acceptable, sauf que cela supprime les anciens posts au fur et à mesure que je descends, ce qui les rend impossibles à rechercher.

Appuyez sur la touche Fin de votre clavier, ou cliquez/touchez la date située en bas de la chronologie. Vous pouvez également entrer un sujet en bas en cliquant sur l’heure du dernier message ou sur le nombre de messages.

Il existe une route spéciale pour l’impression que vous pouvez utiliser pour cela, comme

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

(besoin d’ouvrir dans un nouvel onglet). Cela chargera jusqu’à 1000 messages dans une vue sans JavaScript.

5 « J'aime »

La route « print » est un bon début, mais ce n’est toujours pas vraiment ce que je cherchais.

Dans les anciennes versions, je pouvais faire défiler pour charger un sujet entier (ou simplement la section pertinente pour une séquence particulière), le garder chargé, puis utiliser SingleFile pour exporter une archive du sujet complet, affichée exactement telle qu’elle, comme une page de forum ordinaire. Similaire à une capture d’écran, mais plus petite, défilable, zoomable, avec des liens cliquables, des images enregistrables et du texte représenté sous forme de texte plutôt que de pixels. On pouvait aussi préparer la page au préalable, en effectuant des actions comme déplier le widget « 3 réponses », révéler les spoilers, ou même joindre des notes privées dans le widget de réponse, à consulter dans le cadre de l’archive mais jamais réellement publiées sur le forum. On pouvait également utiliser le « zapper » de uBlock Origin pour supprimer les messages non pertinents par rapport à la partie du sujet que je voulais sauvegarder… réduisant la discussion aux seuls commentaires dont j’avais besoin.

Ensuite, lors d’une mise à jour de Discourse, cette possibilité a été perdue. Le maximum que j’obtiens maintenant, c’est quelques messages à la fois. Peut-être un peu plus si je zoome au maximum autorisé par le navigateur pour afficher plus de messages à l’écran.

Ce serait formidable s’il existait un moyen de forcer l’arrêt du déchargement des messages. Par exemple, une touche raccourci, un bouton ou un code Konami, ou… peu importe. Il suffirait d’appuyer sur quelque chose pour désactiver temporairement la fonction JavaScript responsable du déchargement des messages hors écran, et ce uniquement pour cet onglet du navigateur.

Par exemple, disons qu’il existe un sujet de 12 000 commentaires sur un achat groupé, s’étendant sur plusieurs années, et qu’au milieu, les gens parlent de chats pendant 100 messages avant de revenir au sujet initial. Je pourrais faire défiler jusqu’au début du fil sur les chats, appuyer sur la touche raccourci « arrêter le déchargement des messages » dans Discourse, faire défiler vers le bas, utiliser le zapper de uBlock pour supprimer les messages qui ne concernent pas les chats, faire défiler jusqu’à la fin du fil sur les chats, puis appuyer sur la touche raccourci de SingleFile pour sauvegarder le DOM sous forme de fichier .html.

J’étais capable de faire cela jusqu’à l’année dernière ; je ne sais pas quand cela a cessé. Peut-être s’agissait-il simplement d’un bug qui permettait à cela de fonctionner, puisque le comportement de déchargement semble exister depuis une décennie. Mais j’aimais ce bug, et j’aimerais pouvoir le faire revenir parfois.

Je sais que cela ferait utiliser beaucoup plus de ressources à l’onglet. Ce n’est pas un problème. Il y a des cas d’usage où « plus de contenu chargé dans le DOM » est plus important que la minimisation de l’utilisation de la RAM.