
Oh, dieser beschissene Reddit -Texteditor – habe den gesamten Code -Block vermasselt! Ich werde versuchen, es zu beheben!
SRF Meteo ist eine der Webseiten, auf die wir bei der Arbeit zugreifen können. Die Wetterwebseite zeigt jedoch nicht die Daten des angegebenen Wochentags an. Das hat mich wirklich gestört. Wirklich! Also beschloss ich, das zu ändern und schrieb ein kleines Greasemonkey-Skript. Ich bin kein professioneller Programmierer – und vielleicht gibt es bessere Möglichkeiten, es zu tun, ich weiß es nicht. Ich habe es nur mit Mozilla Firefox für Windows 10/11 getestet.
Für diejenigen, die es versuchen wollen:
- Installieren Sie Mozilla Firefox
- Installieren Sie Firefox Addon "Greasemonkey"
- Aktivieren Sie Greasemonkey
- Klicken Sie in der Symbolleiste auf Greasemonkey-Icon und klicken Sie auf "Greasemonkey ist deaktiviert". Es aktiviert das Addon. Es ist eine Flip/Flop -Einstellung. (Siehe Online -Tutorials)
- Erstellen Sie ein neues Greasemonkey -Skript
- Klicken Sie auf Greasemonkey-Icon und Klick "Neues Benutzerskript …" (Weitere Informationen finden Sie unter Tutorials)
- Kopieren Sie das folgende Skript in den Greasemonkey-Editor
- Speichern Sie das Skript
- Öffnen Sie einen neuen Firefox -Browser -Registerkarte und navigieren Sie zu: SRF -Webseite Wetter
- beten
Auch hier bin ich kein professioneller Programmierer, aber vielleicht sieht jemand von SRF Meteo dies und wird diese Funktion mit seiner IT und dem Willen für sich genommen umsetzen. Weil: Nach jeder Webseite die Code unterstellt.
Nein, ich kann nicht benutzen fauster.com Ich kann auch nicht Smartphones an meinem Arbeitsplatz verwenden.
Und das ist das Greaesmonkey-Skript (ich habe keine Ahnung, wie Github und solche funktionieren):
// == UserScript ==
// Zuletzt geändert: 30.11.23 / sisrt / v001
// 09.04.24 / sisrt / v002 / Minor Fix
// 22.08.25 / sisrt / v003 / fix als V002 funktioniert nicht mehr
// Nennen Sie SRF Meteo – DateAdder
// Version 0.0.3
// erfordern http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// erfordern https://gist.github.com/raw/2625891/waitforkeyElements.js
// keine gib keine
// übereinstimmen https://www.srf.ch/meteo/wetter/
// übereinstimmen https://www.srf.ch/meteo/wetter/*
// ==/usercript ==
// Helferfunktionserklärungen
const debug_mode = false;
const local_lc = "Das ist das"; // Formatdatum in diesem Gebietsschema
/*
Old V002 – funktioniert mit diesen Klassennamen nicht mehr
const span_class_name_anyday = "Wetter-Tag__long"; // Suche nach diesen Spannweiten in der Webseite
const span_class_name_today = "Wetterkartenwetter-Tag";
*/
const span_class_name_anyday = "M: Block M: Text-Base M: LG: -MT-0 M: LG: Text-XL M: LG: Leading-[14px] M: LG: Tracking-0.4"; // Suche nach diesen Spannweiten in der Webseite
const span_class_name_today = "Wetterkartenwetter-Tag";
//////Datum Helfer -Funktionserklärungen – Beginnen Sie
Datum.Prototyp.Adddays = Funktion (Tage) {
var date = neues Datum (this.ValueOf ());
Date.SetDate (Datum.getDate () + Tage);
Rückgabedatum;
}
Funktion GetWeekdayNames (Lokalschema) {
var -basiertate = neues Datum (Datum.utc (2017, 0, 2)); // nur ein Montag
Var wochentagsnamen = [];
für (i = 0; i <7; i ++) {
Weekdaynames.push (basiertate.tolocalEdateString (Lokalschema, {Wochentag: ‚Long‘}));
basiertate.setDate (basiertate.getDate () + 1);
}
Wochentag zurückkehren;
}
Funktion GetWeekdayName (Lokale, DEDESTESTR = NEW DATE ()) {
var date = neues Datum (datESTR);
Rückgabedatum.TolocalEdatestring (Lokalschema, {Wochentag: ‚Long‘});
}
///// Datum Helfer -Funktionserklärungen – Ende
///// Andere Funktionserklärungen – Beginnen Sie
Funktionsdebugprint (s) {
if(DEBUG\_MODE) console.log(s);
} // Debugprint ()
Funktionsdebugalert (s) {
if(DEBUG\_MODE) alert(s);
} // Debugalert ()
function 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 ? "\ heute<br/>" : "<br/>") + dt.toLocaleDateString(LOCAL\_LC));
/*
Alter V002
// Wenn die Spannweiten nicht in chronologischer Reihenfolge sind (siehe oben), konvertieren Sie dies stattdessen:
// Heute Wochentagsname
var woekdaynametoday = GetWeekdayName (local_lc);
var wochentayIndextoday = woekdaynames.findIndex (item => item === Wochentagnametoday);
// InnerText enthält den Wochentagsnamen in lokal
var wokwochdaynamelookup = Spannweite[i].IperText;
// Nach dem Wochentagsnamen in zuvor vorbereiteten lokalisierten Sammlung suchen
var wochdayIndexlookup = woekdaynames.findIndex (item => item === WOCHEDDAGNAMELOOKUP);
var DayStoadd = WeekdayIndexlookup – WochentagesDextoday;
console.log (woCHNEDAYINDEXTODODAY + " / " + woCHNEDDAYIDEDEXLOOKUP);
if (tayStoadd <0) {
tagstoadd += 7;
}
console.log (DayStoadd);
*/
}
/*
Alter V002
// Aktualisieren Sie den Today-Span und fügen Sie „Heute“ hinzu, wenn die Spannweiten nicht in chronologischer Reihenfolge sind
var spans = document.getElementsByClassName (span_class_name_today);
für (var i = 0; i if (Spans[i].innTertext.rim () == "Heute") { Spannweiten[i].innerHTML = "Heute } } } // injectdates () ///// Andere Funktionserklärungen – Ende // hauptsächlich console.log ("SRF Meteo – DateAdder – Start"); // erfordert WaitForKeyElements.js & jquery.min.js WaitforkeyElements ( "[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']"Injectdates ); console.log ("SRF Meteo – DateAdder – Ende");
" + Wochentagnametoday; \*/
debugAlert("done!");
I added dates to the SRF Meteo web page because the lack of them annoyed me every single day!
byu/SiSRT inSwitzerland
Von SiSRT