// ==UserScript== // @name Remplacer "offre d'emploi" par "demande de travail" // @namespace http://tampermonkey.net/ // @version 0.1 // @description Remplace tous les groupes nominaux "offre d'emploi" par "demande de travail" sur la page d'un site web // @author Juste un glandeur au RSA // @match *://www.pole-emploi.fr/* // @grant none // ==/UserScript== (function() { 'use strict'; // Fonction pour remplacer le texte dans le corps de la page function replaceTextOnPage(from, to){ getAllTextNodes().forEach(function(node){ node.nodeValue = node.nodeValue.replace(new RegExp(escapeRegExp(from), 'gi'), to); }); function getAllTextNodes(){ var result = []; (function scanSubTree(node){ if(node.childNodes.length) for(var i = 0; i < node.childNodes.length; i++) scanSubTree(node.childNodes[i]); else if(node.nodeType == Node.TEXT_NODE) result.push(node); })(document); return result; } function escapeRegExp(string) { return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); } } replaceTextOnPage("Ma recherche d'offres", "Ma recherche de moyens de subsistance"); replaceTextOnPage("offre d'emploi", "demande de travail"); replaceTextOnPage("offres d'emploi", "demandes de travail"); replaceTextOnPage("offres", "demandes de travail"); // Attendre que la page soit complètement chargée avant de remplacer dans le titre // Vérifier régulièrement si le titre a été mis à jour var checkTitle = setInterval(function() { if (document.title.includes("offres d'emploi")) { document.title = document.title.replace(/offres d'emploi/gi, 'demandes de travail'); clearInterval(checkTitle); // Effacer l'intervalle une fois le titre mis à jour } }, 1000); // Vérifier toutes les secondes })();