Autor Thema: "let" statt "var" auf alten Browsern  (Gelesen 806 mal)

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3574
"let" statt "var" auf alten Browsern
« am: 12 Oktober 2022, 08:42:42 »
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, ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26043
Antw:"let" statt "var" auf alten Browsern
« Antwort #1 am: 12 Oktober 2022, 09:21:53 »
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.
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Liste anzeigen

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3574
Antw:"let" statt "var" auf alten Browsern
« Antwort #2 am: 14 Oktober 2022, 09:26:35 »
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, ...

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3574
Antw:"let" statt "var" auf alten Browsern
« Antwort #3 am: 15 Januar 2023, 10:36:34 »
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.
« Letzte Änderung: 15 Januar 2023, 10:50:46 von KernSani »
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26043
Antw:"let" statt "var" auf alten Browsern
« Antwort #4 am: 15 Januar 2023, 11:57:27 »
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.

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3574
Antw:"let" statt "var" auf alten Browsern
« Antwort #5 am: 15 Januar 2023, 14:08:13 »
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, ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26043
Antw:"let" statt "var" auf alten Browsern
« Antwort #6 am: 16 Januar 2023, 09:39:35 »
Hab die Doku ergaenzt.