Jump to content

Search the Community

Showing results for tags 'userscript'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Matériel et Conseils d'achat
    • Ordinateurs de bureau et Composants
    • Ordinateurs portables
    • Conseils d'achat
  • Ajustements et Personnalisation de PC
    • Surcadençage
    • Refroidissement à air et à eau
    • Personnalisation de PC
  • Systèmes d'exploitation
    • Microsoft Windows (Mobile)
    • Apple MacOS et iOS
    • GNU/Linux, *BSD et dérivés d'UNIX
  • Réseaux et Programmation
    • Réseaux, Internet, Téléphonie et Services en Ligne
    • Nuage (cloud) et Services en ligne
    • Programmation et Lignes de code
  • Multimédia
    • Jeux vidéo, Consoles, Rétrogaming et Jeux occasionels
    • Mobilité et périphériques portables
    • Audio, Vidéo, Photo et Créations
  • Au pays de l'occasion
    • Achats, Ventes et Estimations
    • Retours d'expérience
  • INpact Café
    • Débats et Discussions
    • Espace Détente
    • Projets personnels et Gestion communautaire
  • Vie du site et du forum
    • Vie INpactienne
  • Les Nintendomaniacs's Switch
  • Les Nintendomaniacs's 3DS
  • Les Nintendomaniacs's Consoles virtuelles
  • Les Nintendomaniacs's Anciennes consoles
  • Les Nintendomaniacs's Amiibo
  • Hardware PC's CM
  • Hardware PC's CPU
  • Hardware PC's GPU
  • Hardware PC's RAM
  • Hardware PC's SSD/HDD
  • Hardware PC's Boîtier & Co
  • Hardware PC's Écran
  • Hardware PC's Clavier/Souris
  • Hardware PC's Réseau
  • Final Fantasy XIV's Discussions
  • Skyrim's Modding : how to et principes de base
  • Skyrim's News, discussions et partage de connaissances
  • Skyrim's Les perles du Nexus et autres ressources
  • DIY or Die !'s Maquettes et Modélisme
  • DIY or Die !'s Electronique
  • Kerbal Space Program Vers l'infini enfin si on décolle !'s Bien débuter
  • World Of Warcraft (actuel/classic)'s Sujets
  • Microsoft Fly Simulator's Votre matos
  • Microsoft Fly Simulator's Vos voyages!
  • Microsoft Fly Simulator's Discussion libre

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 1 result

  1. Bonjour, Voilà, en suivant les commentaires sur la V7 du site, beaucoup sont comme moi et apprécié voir rapidement les news du jour. J'ai proposé alors de remplacer la date de l'article par "Aujourd'hui' avec une mise en forme assez visible comme ici : Je me suis donc lancer dans pour proposer un userscript pour faire ça. Malheureusement, je n'ai jamais fait beaucoup de JS, et ça fait des années que je n'en ai pas touché. Autant dire que j'ai codé ça sans connaissance du langage (et que déjà qu'en français je n'étais pas terrible, l'anglais est pire). J'ai donc créé ce script dans tampermonkey normalement accessible sur tout les navigateurs et je pense que ça doit être compatible avec Greasemonkey. v0.2.1 : support de l'heure relative // ==UserScript== // @name nxiV7todayEmph // @namespace http://tampermonkey.net/ // @version 0.2.2 // @description emphasize the news of the day for nextInpact v7. // @author tazvld // @match *://www.nextinpact.com* // @grant none // ==/UserScript== (function() { 'use strict'; //########### console.log("Script nxiV7todayEmph start"); var addStyle =function(){ /* add new style to document head */ var cssTodaySubtitle='.TodaySubtitle {color: #ea7e19;}'; var head=document.head; var style=document.createElement('style'); head.appendChild(style); style.type='text/css'; style.appendChild(document.createTextNode(cssTodaySubtitle)); } var ilyaRegex=RegExp("il y a (\\d+) heures","g"); var ilyauneHeureRegex=RegExp("il y a une heure","g"); var ilyaMinRegex=RegExp("il y a (\\d+) minutes", "g"); var isToday=function(dateStr){ /* return if dateStr correspond to today date */ console.log(`test today on ${dateStr}`); var match=ilyaMinRegex.exec(dateStr); ilyaMinRegex.lastIndex = 0; if (match!==null){ //XXX : I considered that no articles will be published after 23h00. return true; } match=ilyauneHeureRegex.exec(dateStr); ilyauneHeureRegex.lastIndex = 0 if (match!==null){ //XXX : I considered that no articles will be published after 23h00. return true; } match=ilyaRegex.exec(dateStr); ilyaRegex.lastIndex = 0 if(match!== null){ console.log(`match found : ${match[1]}`); var today=new Date(); var currentHour=today.getHours(); var articleAge=parseInt(match[1]); if(articleAge<=currentHour){ return true; } } return false; } var applyTodayModif=function(sbtDateElem){ /* apply modification on sbtDateElem elem. */ var previousInnerHTML=sbtDateElem.innerHTML sbtDateElem.innerHTML=`<span class="TodaySubtitle">Aujourd\'hui</span>, ${previousInnerHTML}`; } var modifTodayDate=function(sbtDateElem){ /* apply modification on sbtDateElem elem if sbtDateElem correspond to today date. */ var dateStr=sbtDateElem.innerHTML; if(isToday(dateStr)){ applyTodayModif(sbtDateElem); } } //########### //add style to document addStyle() //add obserder to modify date as soon as document is modified var observed=document.body; var observeOpt={childList: true, substree: true}; var observerFunc=function(mutations){ /* find all subtitle dates elem in document and apply modification if this elem correspond to today date */ var subtitleDates=document.querySelectorAll(".subtitle span"); console.log(`Script nxiV7todayEmph : ${subtitleDates.length} subtitle date found`); for(let i=0; i<subtitleDates.length; i++){ modifTodayDate(subtitleDates[i]); } } //apply a first the the observFunc if page is already loaded. // XXX : because JavaScript is monothread, this should be directly followed by the MutationObserver. observerFunc(null); //look for modification in observed to change if necessary //FIXME : may be launched 2 times in a row, because the modification may be also observed var mutationObs1=new MutationObserver(observerFunc); mutationObs1.observe(observed, observeOpt); })(); v0.1
×
×
  • Create New...