NEWS
[gelöst] Variable in einem "IDs vom Selektor"
-
@j_paul sagte: Probiere ich es mit der Übergabe als Variable nicht.
Offenbar wurde der Selektor verändert und es wird nun ein \ vor das Hochkomma gesetzt, womit es nicht funktioniert.
So funktioniert es:return Array.prototype.slice.apply($('*.LoRaWAN.*[role=level.temperature](rooms='+room+')'));
-
@paul53
Vielen Dank, für Deine Antwort. Es ist nicht das erste mal, dass du mit deiner Antwort meinen Karren aus dem Dreck ziehst, ich weiß das zu schätzen. Es ist zwar eine Lösung, aber schön ist das nicht. Dass eine Funktion da war und nun raus genommen wurde ist das eine, dass dies aber- nicht in der Dokumentation zu finden ist
- nicht im Change LOG zu finden ist
- offen Issues dazu nicht beantwortet werden
ist das andere. Dein "Offenbar" sagt mir, dass du dazu auch nichts gefunden hast.
Ich werde es so machen, wie von dir aufgezeigt, nochmals danke!
-
@j_paul Ja, das vorher war ein Bug. Richtig. Dass man da quasi per Code Injection Variablen einfügen kann war nie so geplant oder gedacht.
Kann ich gern im Issue erklären und schließen
-
@j_paul sagte in [gelöst] Variable in einem "IDs vom Selektor":
dies aber
- nicht im Change LOG zu finden ist
Steht doch drin
-
@haus-automatisierung
Danke für die Erklärung.
"It‘s not a Feature, it‘s a Bug"
kannte ich so rum noch nichtDie Angabe im Change Log hatte ich nicht mit der Übergabe einer Variablen in Zusammenhang gebracht, mein Fehler.
-
@j_paul sagte in [gelöst] Variable in einem "IDs vom Selektor":
"It‘s not a Feature, it‘s a Bug"
Ja genau, wenn single quotes nicht escaped würden, wäre der JavaScript Code ja nicht gültig, sobald man nur eines verwendet z.B. Oder man konnte solchen Quatsch eingeben:
'; const test = 123; hello();
Und das ist ja wirklich nicht im Sinne dieser Blöcke, dass man darin programmieren kann.
Genau so funktioniert übrigens SQL Injection auf Webseiten. Man gibt in ein Feld (z.B. für den Benutzernamen) weitere SQL-Syntax ein, in der Hoffnung den Befehl korrekt zu unterbrechen und dann weiteren Logik auszuführen / in der Datenbank andere Statements abzusetzen statt sich anzumelden.
-
@haus-automatisierung sagte: das vorher war ein Bug
Die Änderung seit Version 8.7.0 ist ein "breaking change", da der "Bug" in der Vergangenheit ausgenutzt wurde, um Variablen in den Selektor-String einzufügen.
-
@paul53 Das war nur nie so dokumentiert und ist von Blockly auch nicht so gedacht bei Input Fields. Ist ja nirgendwo sonst so
-
@haus-automatisierung
Sorry, falls das eine naive Frage sein sollte:
Liesse sich IDs von Selektor nicht als Block bauen, bei dem man, wie bei den anderen Blöcken auch, Möglichkeit hat Text/Variablen für states, roles, functions, rooms anzuheften? Dies könnte man ja auf erlaubte Zeichen begrenzen, damit nichts anbrennen kann.
Ja ich weiß, aber nein, von mir ist diesbezüglich kein PR zu erwarten. -
@j_paul Ja, könnte man natürlich machen