A phone with the Reddit mascot coming out of the screen.
Agence web » Actualités du digital » J'ai corrigé le flux Reddit avec ce petit script

J'ai corrigé le flux Reddit avec ce petit script

Les petits ennuis sur vos sites Web préférés peuvent s'additionner au fil du temps et provoquer une grande frustration. Pour moi, c'est Reddit défaut de «meilleur» qui le fait. Heureusement, avec une petite quantité de détermination et une extension puissante, vous pouvez résoudre la plupart de ces problèmes.

Quel est le problème?

Je me suis tenu très longtemps, mais j'ai récemment franchi le pas et je suis passé à « New » Reddit. Généralement, ce n'est pas aussi mauvais que je le craignais, et l'interface utilisateur est assez bonne pour la plupart. Mais un problème m'agace dans une mesure significative: la commande de post par défaut.

Sur le flux domestique et les flux de sous-sombres individuels, les poteaux sont affichés dans un «meilleur» ordre de tri. Il s'agit d'un paramètre opaque et, tout comme l'algorithme «pour vous» sur X ou le flux de maison de YouTube, il agit davantage pour promouvoir le contenu que de répondre à un besoin particulier. Je ne peux pas compter le nombre de fois où j'ai été attiré par le titre d'un post, seulement pour devenir ennuyé quand je le vois a des semaines ou des mois.

Même lorsque je repère ce qui ne va pas, il faut deux clics pour passer du «meilleur» à «nouveau», et cela perturbe mon flux. Mais grâce à un peu d'effort, ce n'est plus un problème.

En rapport

5 raisons pour lesquelles vous devez ignorer la page pour vous sur tous les réseaux sociaux

Qu'est-ce que « pour moi » de toute façon?

Comment réparer le flux

Si vous connaissez un JavaScript, vous réfléchissez peut-être déjà à la façon de résoudre ce problème. En utilisant ce langage de programmation, vous pouvez ajouter des fonctionnalités à un site Web, modifier ses couleurs et ses polices, ou même supprimer le contenu qui ne vous intéresse pas.

La clé est une extension de navigateur qui vous permet d'exécuter votre propre javascript sur des sites spécifiques. J'utilise une extension pour Chrome appelé Tampermonkey:

La plupart des navigateurs ont cette fonction intégrée ou disponible via une extension. En fait, Tampermonkey est disponible pour tous les principaux navigateurs – Chrome, Edge, Safari et Firefox – donc je le recommanderais comme premier choix.

Commencez par télécharger Tampermonkey pour votre navigateur; J'utilise la version chrome.

En rapport

Comment installer et gérer les extensions dans Chrome

L'installation et la gestion des extensions dans Google Chrome ne sont pas difficiles, mais il y a des astuces que vous voudrez savoir.

Une fois que vous avez ajouté et activé l'extension, utilisez son menu pour «créer un nouveau script». Vous devriez voir quelque chose comme ceci:

Il y a beaucoup de passe-partout ici, et la plupart sont des commentaires qui n'auront pas d'effet matériel. Mais vous devez vous assurer que la ligne «@match» ressemble à ce qui suit:

        

Cela indique à Tampermonkey d'exécuter le script uniquement sur le site Web de Reddit. Le joker «*» signifie qu'il fonctionnera sur chaque page, mais le script en tiendra compte et s'assurera qu'il affecte uniquement la page d'accueil principale.

Maintenant pour le script réel, qui devrait remplacer la ligne qui se lit « // votre code ici …: »

        function checkURL() {
    if (window.location.pathname === "https://www.howtogeek.com/") {
        window.location.replace("//www.reddit.com/new");
    }
}

let currentUrl = location.href;
checkURL();

setInterval(() => {
    if (location.href !== currentUrl) {
        currentUrl = location.href;
        checkURL();
    }
}, 500);

Vous n'avez pas besoin d'une compréhension approfondie de ce qui se passe ici, mais je vais expliquer quelques parties clés.

La fonction CheckUrl fait le travail principal. Tout d'abord, il vérifie si l'URL de la page n'a qu'une seule barre de barre avant après le nom de domaine. Si c'est le cas, nous sommes sur la page d'accueil. Il appelle ensuite Window.Location.replace (), ajoutant simplement «nouveau» à la fin de l'URL. Cela demande à votre navigateur de charger l'URL, qui est la page d'accueil, juste triée par les messages les plus récents au lieu de la valeur par défaut.

Le reste du script s'assure que cette vérification se produit régulièrement: deux fois par seconde. Idéalement, cela ne serait pas nécessaire; Le chèque ne doit avoir besoin que lorsque l'URL change et que la page se charge initialement. Cependant, en raison de la façon dont Reddit charge les pages, le script doit simplement vérifier régulièrement. C'est une approche de «force brute», mais le code fait si peu de travail que nous pouvons nous en tirer.

Enregistrez votre script et fermez l'onglet Tampermonkey, puis passez à Reddit et essayez de charger la page d'accueil. Vous devriez maintenant voir que, au lieu du «meilleur» flux par défaut, vous consultez «nouveau», une expérience largement supérieure!

Que pouvez-vous réparer d'autre?

Vous n'avez pas besoin de modifier beaucoup le code pour s'adapter également aux pages d'accueil de Subdredit. Il suffit d'ajouter une autre condition à la fonction CheckUrl (), qui traite les URL de sous-édition de la même manière:

        function checkURL() {
    let match;

    if (window.location.pathname === "https://www.howtogeek.com/") {
        window.location.replace("//www.reddit.com/new");
    } else if (match = window.location.pathname.match("(/r/(^/)+)/$")) {
        window.location.replace("//www.reddit.com" + match(1) + "/new/");
    }
}

Ce chèque est un peu plus compliqué car vous devez tester un modèle qui pourrait correspondre à de nombreuses URL différentes, plutôt qu'une URL fixe. L'appel à Window.Location.pathname.match () utilise une expression régulière. Encore une fois, les détails ne sont pas extrêmement importants; L'essentiel est que cette vérification correspond aux URL qui ressemblent à «/ r / (subdreddit) /» et ajoute «new /» à la fin.

En rapport

Comment utilisez-vous réellement Regex?

Le regex, abréviation de l'expression régulière, est souvent utilisé dans les langages de programmation pour faire correspondre les modèles dans les chaînes, trouver et remplacer, validation d'entrée et reformater le texte.

Une fois que vous avez installé cette extension, le monde est votre huître, à condition que vous puissiez apprendre un peu de javascript. Avec Tampermonkey, ou une extension similaire et une certaine détermination, vous pouvez résoudre toutes sortes de problèmes avec les sites que vous utilisez régulièrement. Supprimer les éléments indésirables, réorganiser la navigation, forcer le mode sombre, arrêter les vidéos de lecture, etc.

Les seules limites réelles dépendent de la structure de chaque site. Par exemple, X (Twitter) utilise la même URL pour sa vue «pour vous» et son «suivi», ce qui signifie qu'il est beaucoup plus compliqué à travailler. D'un autre côté, YouTube se comporte mieux, avec des URL distinctes pour sa page d'accueil et le flux d'abonnements.

Donc, la réparation des sites implique une enquête et un peu d'expérimentation, mais les améliorations que vous pouvez ajouter en valent la peine.

En rapport

6 extraits javascript pour polir votre site

Des victoires rapides et faciles pour tout site que vous construisez.

★★★★★