NEWS
Relative URL in Jarvis 3.2 im iFrame
-
Moin zusammen,
ich muss ein wenig ausholen:
ich habe mir eine App geschrieben, die einen Webview mit meiner Jarvis Visualisierung anzeigt.
Je nachdem, ob ich im heimischen Netz oder außerhalb bin, wird die lokale (192.168.0.foo:8400) URL im Webview verwendet oder die öffentliche URL meines Homeservers (die ich ähnlich wie bei einem Dyndns-Service auf einem meiner anderen Server mit fester IP logge). Port 8400 wird in der Fritzbox passend weitergeleitet.
So kann ich also auch außerhalb meines Heimnetzes auf die Visualisierung zugreifen und durch das Loggen der IP des Heimservers passt dann auch der Zugriff, wenn sich die IP durch den Internetprovider geändert hat.
Passt alles soweit sehr gut, aber:
Ich habe in Jarvis mehrere iFrames die Seiten von energiefluss-erweitert und flot anzeigen. Diese sind ja auch auf dem Heimserver gehostet, aber beim Zugriff von außen, findet der iFrame die 192er Adresse nicht mehr. Klar, er greift ja über die öffentlich IP zu.
In Vis konnte ich einfach die IP weglassen (also einfach /flot/index.html? statt 192.168.0.foo/flot/index.html) und die Seite wurde gezeigt.
In Jarvis kommt ein ENOENT Fehler.Ich habe es jetzt so gelöst, dass ich die Flot-URL aus einem Datenpunkt im iFrame lesen lasse und damit die Flot-URL immer mit der öffentlichen IP bilde. Was natürlich weniger performant ist, wenn ich im Heimnetz bin.
Lässt sich das besser lösen? Gibt es eine bestimmte Syntax, wie ich relative URLs im iFrame verwenden könnte?
Sorry, etwas länger geworden.