"let" statt "var" auf alten Browsern

Begonnen von KernSani, 12 Oktober 2022, 08:42:42

Vorheriges Thema - Nächstes Thema

KernSani

Hallo Rudi,
in neueren Versionen von fhemweb.js wird "let" statt "var" verwendet. Das wir von älteren Browsern (z.B. auf meinem alten Wand-Tablet) nicht unterstützt... Lässt sich da was machen?
Danke,
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rudolfkoenig

Habe die 2 Stellen, wo let verwendet wurde, geaendert.

Wie alt ist dein Tablet? let ist 6+ Jahre alt, ich werde in FHEM noch 4 weitere Jahre darauf verzichten.
Wer 10+ Jahre alten Hardware (genauer: Software) verwenden will, der muss halt auf FHEM-Updates verzichten.

KernSani

Hi Rudi,
vielen Dank. Das Tablet ist ein IPad der ersten Geneartion (oder der 2.? Bin nicht ganz sicher), das als reine Anzeige dient. Bevor ich auf Updates verzichte schaffe ich das lieber ab (oder lass mir irgendwas anderes einfallen, wie ich die Daten darstelle)
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

#3
Hallo Rudi,
ich muss nochmal auf dieses Thema zurück kommen, da mir im Prinzip jedes Update mein Wandtablet zum sterben bringt (Es kann z.B. auch nicht damit umgehen, wenn JS-Funktionen innerhalb von Js-Funktionen deklariert werden). Ich will aber keinesfalls die Weiterentwicklung in irgendeiner Weise bremsen, daher war meine Überlegung, ob man eine Möglichkeit schaffen könnte, per Attribut pro FHEMWEB-Device das Laden der FHEM-"eigenen" Javascripts zu unterbinden (entweder "böse" - als 0/1-Schalter oder ggf. als regex). Der Nutzer wäre dann selbst verantwortlich die Skripte über das Javascripts-Attribut zu laden. (Das hätte einen weiteren Vorteil: Man könnte auf einfache Weise die ganzen fhemweb_.* widgets, die man nicht benötigt rauswerfen ;-))
Ist das ein denkbarer Ansatz?
Danke,
Grüße,
Oli

Edit: Wenn ich das richtig sehe, wird fhemweb.js anders behandelt, als die übrigen Skripte. Für meinen Fall wäre also "nur" ein Schalter für fhemweb.js notwendig.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rudolfkoenig

Laut Code wird eine JavaScript Datei nicht geladen, falls sie in der JavaScripts Attribut mit einem - am Anfang auftaucht.
Soweit ich sehe, hat das nur Auswirkung auf fhemweb.js und auf <styleSheetPrefix>.js (also f18.js), und es ist als -fhemweb.js zu schreiben, d.h. ohne pgm2/.
Kannst Du das bitte testen?

Hab das - gerade dokumentiert.

KernSani

Hallo Rudi,
manchmal schon erstaunlich, was sich in FHEM alles verbirgt ;-) Bei mir funktioniert es so wie erwartet. Vielleicht sollte man in der Doku noch hinzufügen, dass die <styleSheetPrefix>.js  in diesem Fall ebenfalls exkludiert und nach der eigenen fhemweb.js wieder hinzugefügt werden muss.

-fhemweb.js and -<styleSheetPrefix>.js will prevent the loading of those js-files. This (in combination
with the addition of a special fhemweb.js and a special <styleSheetPrefix>.js) may be a solution for very
old browsers that don't support modern Javascript standards.

attr WEBVeryOldIPad JavaScripts -fhemweb.js -f18.js pgm2/tabletfhemweb.js pgm2/f18.js


Vielen Dank!

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rudolfkoenig