NEWS
Iframe wird geblockt - Ändern der index.html?
-
Vielen Dank für den Hinweis mit dem Proxy-Adapter.
Es funktioniert so leider nur teilweise: Ich sehe zwar die Loxone-Anmeldemaske (grundsätzlich funktioniert also die Idee mit dem Proxy), leider lädt er beim Einloggen dann aber nicht die Loxone-Oberfläche und bleibt hängen....
-
Ich nochmal:
Im Manual des Adapters steht
Some devices wants to be located in the root http://ip/ and cannot run under http://ip/proxy.0/context/.
Das ist dann hier wohl der Fall.
Nochmal zurück zu der anderen Frage:
Warum werden Änderungen in der index.html unter iobroker-data/files/vis/ nicht übernommen?
-
@gender sagte in Iframe wird geblockt - Ändern der index.html?:
Warum werden Änderungen in der index.html unter iobroker-data/files/vis/ nicht übernommen?
hast du ein upload gemacht?
-
Ich würde in der index.html eh nicht so viel ändern.Ich kenne das noch vom MagicMirror und da waren meine Einstellungen beim Nächsten Update wieder durch die orginal Datei ersetzt.
-
@homoran
Ja hab ich, mehrfach... über die Konsole und auch bei der Adapterliste... hab auch iobroker neu gestartet (hab es im docker über ein synology nas laufen). -
@enrico-fischer
Das fände ich jetzt nicht sooo schlimm, wenn es ein Weg wäre... aber wie gesagt: Meine Änderungen in der index.html kommen in der vis ja irgendwie gar nicht erst an. -
Ok, ich habe dummerweise immer den web-adapter neu gestartet bzw. hier einen "upload" gemacht.
Ich hätte vermutlich die ganze Zeit schon den vis-Adapter nehmen müssen ich Trottel.... nun aber folgendes: Wenn ich etwas in der index.html ändere und dann beim vis-adapter einen "upload" durchführe, ist die Änderung wieder weg.
Also bin ich noch nicht wirklich weiter.... -
und nochmals ich:
Habe jetzt hier auf Github ein Issue gefunden:
https://github.com/ioBroker/ioBroker.vis/issues/265Da geht es um die gleiche Sache.
Apollon77 schlägt hier vor, die index.html in nodemodules/iobroker.vis/www/ zu ändern (natürlich mit dem Hinweis, dass es nach einem Update wieder weg ist).Nun, was soll ich sagen: Selbst wenn ich dort die index.html bearbeite (und dann einen upload des vis-adapters mache) ist auch diese Datei danach wieder "zurückgeändert".
Ich gebs langsam auf...
-
ich weiß zwar nicht was du da ändern willst,
aber bei deinem problem mit der anmeldemaske wird es dir nicht helfen.
iobroker lädt durchaus auch content fremder server in einem iframe. in deinem fall wurde das aber durch den anbieter unterbunden. es gibt hier die möglichkeit der einschränkung von beiden seiten.So wie hier bereits geschrieben
https://forum.iobroker.net/topic/25533/iframe-wird-nicht-angezeigt/28?_=1663610753206da musst du bei loxone fragen, ob es eine Einstellung gibt, das man die seite auch in einem iframe einbinden kann.
Ich schätze die setzten das request attribut samesite=origin.
solange das da ist, kannst du es nicht in einem iframe einbinden.
das lässt sich auch nicht durch ein skript umgehen.so wie oben schon vorgeschlagen kann man auch noch einen reverse proxy mit bspw nginx einrichten und da samesite explizit auf none stellen. dann ist es auch weg. dann fragst du die daten aber über die reverse proxy seite ab
-
ok, danke für die Antwort.
Falls es jemand wissen will: Ich habe immerhin nun endlich rausgefunden, wie man die index.html ändert: Man muss unter node_modules/iobroker.vis/www die index.src.html ändern und dann mit "iobroker upload vis" den vis-adapter neu laden.
Dann werden die Änderungen auch übernommen.
Aber naja, wie @oliverio schon schreibt hat das ändern des content-header dort auch nichts gebracht. Die Loxone-Login-Makse lässt sich trotzdem nicht laden.
Was mich etwas stutzig macht: Mit diesem Firefox-Addon https://github.com/ThomazPom/Moz-Ext-Ignore-X-Frame-Options kann ich auch die Loxone-Login-Maske in der VIS laden. Das bedeutet für mich, dass es ja doch irgendwie einen Weg per Script geben muss....
Leider habe ich keine Idee, wie und wo ich die js-Datei aus dem Firefox-Addon einbinden könnte. -
@gender
ja den gibt es, aber der steht für dich als seiten-javascript-nutzer nicht zur verfügung.
als browser extention hast du zugriff direkt auf die interne browser-api
das ist bspw der befehl den deine erweiterung nutzt.
nur aus dem namen abgeleitet ruft der browser deinen callback auf, wenn ein header aus einem request ankommt.
den kannst du dann verändern.browser.webRequest.onHeadersReceived.addListener
aber wie gesagt auf ebene des javascripts einer seite stehen dir die nicht zur verfügung.
und wenn es nach google geht, stehen diese befehle ab nächstes jahr auch nicht mehr für extention programmierer zur verfügung.
wer nachlesen möchte kann mal chrome manifest v3 bei google eingeben