您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Cache les topics et messages de tous les comptes d'Aegoia et ajoute un bouton permettant à l'utilisateur de contrôler leur affichage.
// ==UserScript== // @name AegoiaStop // @namespace http://tampermonkey.net/ // @version 1.1.8 // @description Cache les topics et messages de tous les comptes d'Aegoia et ajoute un bouton permettant à l'utilisateur de contrôler leur affichage. // @author Mr_Satisfaction // @match *://*.jeuxvideo.com/forums/*-50-* // @match *://*.jeuxvideo.com/recherche/forums/*-50-* // @require https://unpkg.com/[email protected]/umd/string-similarity.min.js // @icon https://image.noelshack.com/fichiers/2018/27/4/1530827992-jesusreup.png // @grant none // @license MIT // ==/UserScript== function hideTopics() { // Fonction cachant les topics d'Aegoia lorsque appelée for (let foromer of foromers) { let pseudo = foromer.textContent.toLowerCase().replace(regex, ''); // On récupère le pseudo de l'auteur du topic (idem pour les fonctions suivantes) if (pseudo.includes('aego') || pseudo.includes('goia') || stringSimilarity.compareTwoStrings('aaegio', pseudo.split('').sort().join(''))>=0.5 || pseudo.includes('jew')) { foromer.parentNode.style.display = 'none'; // Si le pseudo de l'auteur du topic correspond au filtre on masque le topic } } } function showTopics() { // Fonction montrant les topics d'Aegoia lorsque appelée for (let foromer of foromers) { let pseudo = foromer.textContent.toLowerCase().replace(regex, ''); if (pseudo.includes('aego') || pseudo.includes('goia') || stringSimilarity.compareTwoStrings('aaegio', pseudo.split('').sort().join(''))>=0.5 || pseudo.includes('jew')) { foromer.parentNode.style.display = 'grid'; // Si le pseudo de l'auteur du topic correspond au filtre on montre le topic } } } function hideMessages() { // Fonction cachant les messages d'Aegoia lorsque appelée for (let message of messages) { let pseudo = message.textContent.toLowerCase().replace(regex, ''); if (pseudo.includes('aego') || pseudo.includes('goia') || stringSimilarity.compareTwoStrings('aaegio', pseudo.split('').sort().join(''))>=0.5 || pseudo.includes('jew')) { message.parentNode.parentNode.parentNode.style.display = 'none'; // Si le pseudo de l'auteur du message correspond au filtre on cache le message } } } function showMessages() { // Fonction montrant les messages d'Aegoia lorsque appelée for (let message of messages) { let pseudo = message.textContent.toLowerCase().replace(regex, ''); if (pseudo.includes('aego') || pseudo.includes('goia') || stringSimilarity.compareTwoStrings('aaegio', pseudo.split('').sort().join(''))>=0.5 || pseudo.includes('jew')) { message.parentNode.parentNode.parentNode.style.display = 'block'; // Si le pseudo de l'auteur du message correspond au filtre on montre le message } } } function handleClick() { // Fonction appelée lorsqu'un bouton est cliqué if (localStorage.getItem('isScriptActivated')=='true') { // Si le script est déjà activé on le désactive showTopics(); showMessages(); localStorage.setItem('isScriptActivated', false); // On enregistre le statut de désactivation du script dans le stockage local du navigateur btn.innerText = 'Masquer Aegoia'; // On change les textes des deux boutons btn2.innerText = 'Masquer Aegoia'; } else { // Si le script est désactivé on l'active hideTopics(); hideMessages(); localStorage.setItem('isScriptActivated', true); // On enregistre le statut d'activation du script dans le stockage local du navigateur btn.innerText = 'Montrer Aegoia'; // On change les textes des deux boutons btn2.innerText = 'Montrer Aegoia'; } } const regex = /[^A-Za-z]/g; // Premier filtre du pseudo let foromers = document.getElementsByClassName('xXx text-user topic-author'); // On récupère l'ensemble des pseudos des auteurs de la page de topics let messages = document.getElementsByClassName('xXx bloc-pseudo-msg text-user'); // Et l'ensemble des pseudos des auteurs de messages du topic const btn = document.createElement('button'); // Création, paramétrage et mise en page du bouton qui contrôle l'affichage des topics et messages d'Aegoia btn.setAttribute('class', 'btn btn-actu-new-list-forum btn-actualiser-forum'); btn.style.setProperty('padding-left', '8px'); btn.style.setProperty('padding-right', '8px'); btn.style.setProperty('margin-left', 'auto'); const btn2 = btn.cloneNode(true); // Création d'un deuxième bouton visible en bas de page identique au oremier if (localStorage.getItem('isScriptActivated')=='true' || !localStorage.getItem('isScriptActivated')) { // Si le script est activé (il l'est par défaut) on cache les topics et messages d'Aegoia localStorage.setItem('isScriptActivated', true); hideTopics(); hideMessages(); btn.innerText = 'Montrer Aegoia'; btn2.innerText = 'Montrer Aegoia'; } else { localStorage.setItem('isScriptActivated', false); btn.innerText = 'Masquer Aegoia'; // Sinon on change juste le texte des boutons btn2.innerText = 'Masquer Aegoia'; } if (window.location.href.includes('0-50-0-1-0-')) { document.getElementsByClassName('bloc-pagi-default px-3 px-lg-0')[0].insertBefore(btn, document.getElementsByClassName('pagi-after')[0]); // Ajout des deux boutons dans les pages de forums document.getElementsByClassName('bloc-pagi-default px-3 px-lg-0')[1].insertBefore(btn2, document.getElementsByClassName('pagi-after')[1]); } else { document.getElementsByClassName('group-two')[0].appendChild(btn); // Ajout des deux boutons dans les topics document.getElementsByClassName('group-two')[1].appendChild(btn2); } btn.addEventListener('click', handleClick); // Lorsque le bouton est cliqué on appelle la fonction à exécuter btn2.addEventListener('click', handleClick); // idem
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址