https://preview.reddd.it/ubsk6khvpdkf1.png?width=1248&format=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png=png>

    Oh questo editor di testo di merda Reddit – ha rovinato l’intero blocco del codice! Proverò a risolverlo!

    SRF Meteo è una delle pagine Web a cui possiamo accedere al lavoro. Ma la pagina Web meteorologica non visualizza le date dei giorni feriali indicati. Questo mi ha davvero infastidito. Veramente! Così ho deciso di cambiarlo e ho scritto un piccolo script di grasemonkey. Non sono un programmatore professionista – e forse ci sono modi migliori per farlo, non lo so. L’ho testato con Mozilla Firefox solo per Windows 10/11.

    Per coloro che vogliono provarlo:

    1. Installa Mozilla Firefox
    2. Installa il componente aggiuntivo Firefox "Greasemonkey"
    3. Attiva il grasemonkey
      1. Fare clic su Greassemonkey-icon nella barra delle icone e fare clic su "Greasemonkey è disabilitato". Abiliterà l’addon. È un’impostazione a flip/flop. (vedi tutorial online)
    4. Crea una nuova sceneggiatura Greasemonkey
      1. Fai clic su Greasemonkey-icon e Klick "Nuovo script utente …" (Vedi tutorial per ulteriori informazioni)
    5. Copia lo script di seguito nel editor Greasemonkey
    6. Salva lo script
    7. Apri una nuova scheda browser Firefox e vai a: SRF Meteo web page
    8. pregare

    Ancora una volta, non sono un programmatore professionista, ma forse qualcuno di SRF Meteo lo vede e recentirà questa funzione al loro IT e la volontà implementerà da soli. Perché: dopo ogni pagina Web riprogetta il codice si interrompe.

    No, non posso usare wetter.com Né posso usare gli smartphone nel mio posto di lavoro.

    E questo è il Greaesmonkey-Script (non ho idea di come GitHub e tali funzionino):

    // == Usesscript ==
    // Ultimo modificato: 30.11.23 / SISRT / V001
    // 09.04.24 / Sisrt / V002 / Minor Fix
    // 22.08.25 / SISRT / V003 / Fix come V002 non funziona più
    // NOME SRF METEO – DATEADDER
    // versione 0.0.3
    // richiedere http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

    // richiedere https://gist.github.com/raw/2625891/waitforkeyelements.js

    // concedere nessuno
    // incontro https://www.srf.ch/meteo/wetter/

    // incontro https://www.srf.ch/meteo/wetter/*

    // ==/Usesscript ==

    // Dichiarazioni della funzione Helper

    const debug_mode = false;

    const local_lc = "Questo è il"; // Data del formato in questo locale

    /*

    Old V002 – non funziona più con i nomi di questa classe

    const span_class_name_anyday = "Weather-Day__Long"; // Cerca queste campate nella pagina web

    const span_class_name_today = "Weather-Card Weather-Day";

    */

    const span_class_name_anyday = "M: blocco M: base di testo M: LG: -MT-0 M: LG: TEXT-XL M: LG:[14px] M: LG: Tracking-0.4"; // Cerca queste campate nella pagina web

    const span_class_name_today = "Weather-Card Weather-Day";

    ///// Dichiarazioni della funzione Helper Date – Inizia

    Date.ProtoType.AddDays = function (Days) {

    var date = new Date (this.valueof ());

    date.setDate (date.getDate () + giorni);

    Data di ritorno;

    }

    funzione getWeekDayNames (locale) {

    var basatote = new Date (Date.UTC (2017, 0, 2)); // solo un lunedì

    VAR NAME WEAKDIORS = [];

    per (i = 0; i <7; i ++) {

    weekdaynames.push (BasadAte.TolocaleDateString (locale, {Weekday: ‘long’}));

    BasatoAte.setDate (BasadAte.getDate () + 1);

    }

    restituire nomi nei giorni feriali;

    }

    funzione getWeekDayName (locale, DateStr = new Date ()) {

    var date = new Date (Datestr);

    Data di ritorno.TolocaleDateString (locale, {Weekday: ‘long’});

    }

    ///// Dichiarazioni della funzione Helper Date – fine

    ////// altre dichiarazioni di funzione – Inizia

    funzione debugprint (s) {

    if(DEBUG\_MODE) console.log(s);
    

    } // debugprint ()

    funzione debugalert (s) {

    if(DEBUG\_MODE) alert(s);
    

    } // debugalert ()

    funzione injectdates (jnode) {

    // get all week day names localized
    
    var weekDayNames = getWeekDayNames(LOCAL\_LC);
    
    
    
    
    
    // get all spans representing a weather forcast day
    
    var spans = document.getElementsByClassName(SPAN\_CLASS\_NAME\_ANYDAY);
    
    debugPrint("weekday spans found: " + spans.length);
    
    
    
    
    
    // loop through all spans
    
    for (var i = 0; i < spans.length; i++) {  
    
    
    
    
    
        var dt = new Date();
    
    
    
        // just add index of span, if spans are in chronological order in html (assumptions)
    

    dt = dt.adddays (i+1);

        spans\[i\].innerHTML += ((i==0 ? "\&nbsp;heute<br/>" : "<br/>") + dt.toLocaleDateString(LOCAL\_LC));
    

    /*

    Vecchio V002

    // Se le campate non sono in ordine cronologico (vedi sopra) Converti invece: fallo:

    // Nome nei giorni feriali di oggi

    var weekdaynamEToday = getWeekDayName (local_lc);

    var weekdayindextoday = weekdaynames.findIndex (item => item === weekdayNamEToday);

    // InnerText contiene il nome nei giorni feriali in locale

    VAR WEAKDYDNAMELOOKUP = Spans[i].ipertext;

    // cerca il nome nei giorni feriali nella collezione localizzata precedentemente preparata

    var weekdayindexlookup = weekdaynames.findIndex (Item => Item === WeekdayNamelookup);

    var DayStoA

    Console.log (WeekdayInDextoDay + " / " + weekdayindexlookup);

    if (DayStoADD <0) {

    DaySTOODD += 7;

    }

    console.log (daystoadd);

    */

    }
    

    /*

    Vecchio V002

    // Aggiorna l’odierna span e aggiungi “heute”, se le campate non sono in ordine cronologico

    var spans = document.getElementsByClassName (span_class_name_today);

    per (var i = 0; i

    if (campa[i].InnderText.rim () == "Oggi") {

    campate[i].innerHtml = "Oggi
    " + WeekdayNametOday;

    }

    }

    \*/
    
    
    
    
    
    debugAlert("done!");
    

    } // injectDates ()

    ///// Altre dichiarazioni di funzione – fine

    // principale

    console.log ("SRF Meteo – DateAdder – Start");

    // Richiede WaitForkeyelements.js & jquery.min.js

    waitforakeelements (

    "[class='m:flex m:justify-center m:justify-normal! m:overflow-hidden m:bg-warmgrey-10 m:py-6 m:md:px-0 m:lg:justify-center! m:dark:bg-blue-950']"iniettate

    );

    console.log ("SRF Meteo – DateAdder – fine");

    I added dates to the SRF Meteo web page because the lack of them annoyed me every single day!
    byu/SiSRT inSwitzerland



    di SiSRT

    Share.
    Leave A Reply