Autor Thema: [gelöst] Sub-Menüs mit iframe?  (Gelesen 1616 mal)

Offline Pete37

  • Jr. Member
  • **
  • Beiträge: 99
[gelöst] Sub-Menüs mit iframe?
« am: 27 April 2016, 21:28:49 »
Hallo Forum,

ich habe mich in meinem Fhem bis zum eigenen Floorplan (natürlich im LCARS-Design) vorgearbeitet und stehe jetzt vor folgender Hürde:
- Ich habe viele Schaltflächen und Anzeigen, die immer zu sehen sein sollen
- in einem Teil des Bildschirm sollen Details zu den einzelnen Systemen (Heizung, Licht, etc.) angezeigt werden können
- die Auswahl dieser Detailansicht soll über ein Menü erfolgen, dass wiederum im allgemeinen Teil des Bildschirms liegt

Dazu habe ich einen Floorplan für alles zusammen angelegt und darauf ein iFrame platziert, was die Detailansichten zeigen soll. Die Ansichten selber sind eigene Floorpläne, die ich über den Link im iFrame adressiere. Die Menü-Knöpfe ändern jetzt per modify die URL auf die das iFrame zeigt.

Soweit so gut.

Problem ist nur, das die Änderung der URL erst bei einem Browser-Refresh des kompletten Floorplans wirksam wird und das ist ein externer Trigger, den ich nicht aus Fhem heraus starten kann (zumindest hab ich noch nicht herausgefunden wie).

Weiß jemand,
- wie ich ein iFrame zur Aktualisierung auffordern kann?  oder
- wie ich einen Floorplan zur Aktualisierung auffordern kann? oder
- wie ich anders ein Sub-Menü realisieren kann, außer mit iFrame?

Vielen Dank für Eure Ideen,
Pete
« Letzte Änderung: 30 Mai 2016, 22:43:14 von Pete37 »
Fhem auf Raspberry Pi3 mit Fritzbox inkl. Steckdosen, Philips Hue inkl. Orsam Lightify-Lampen, eq-3 Max!, SONOS, Rollotron Rolläden, Asus ZenPad, Samsung Galaxy xCover 3

Offline der-Lolo

  • Hero Member
  • *****
  • Beiträge: 1691
Antw:Sub-Menüs mit iframe?
« Antwort #1 am: 27 April 2016, 21:38:20 »
Schau mal ob du mit Pageswap klar kommst - gibts im fhemwiki

Offline Pete37

  • Jr. Member
  • **
  • Beiträge: 99
Antw:Sub-Menüs mit iframe?
« Antwort #2 am: 28 April 2016, 19:47:20 »
Danke für den Hinweis!

Ich hab's probiert - und es funktioniert. Allerdings ist es unerträglich langsam. Auf dem Rechner schon, aber auf dem Tablet mit WebViewControl noch mal langsamer.

Wenn ich mit dem JS direkt an das eine Frame rankäme, könnte es sicher noch schneller gehen...
Fhem auf Raspberry Pi3 mit Fritzbox inkl. Steckdosen, Philips Hue inkl. Orsam Lightify-Lampen, eq-3 Max!, SONOS, Rollotron Rolläden, Asus ZenPad, Samsung Galaxy xCover 3

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21648
Antw:Sub-Menüs mit iframe?
« Antwort #3 am: 28 April 2016, 22:25:48 »
Zitat
wie ich ein iFrame zur Aktualisierung auffordern kann?

Laut google:
document.getElementById(FrameID).contentDocument.location.reload(true);


iframe ist eigentlich eine Notloesung, wie man das hier eleganter loesen koennte, blicke ich aber nicht.

Offline Pete37

  • Jr. Member
  • **
  • Beiträge: 99
Antw:Sub-Menüs mit iframe?
« Antwort #4 am: 28 April 2016, 23:45:45 »
das hatte ich auch schon probiert - funktioniert leider gar nicht. Oder ich habe die Frame-ID noch nicht richtig gefunden. Ich hab mir den HTML-Code des FLOORPLANs angesehen und da steht als ID genau der Name des Fhem-Objekts drin. Aber darauf reagiert das Frame leider nicht...
Fhem auf Raspberry Pi3 mit Fritzbox inkl. Steckdosen, Philips Hue inkl. Orsam Lightify-Lampen, eq-3 Max!, SONOS, Rollotron Rolläden, Asus ZenPad, Samsung Galaxy xCover 3

Offline Pete37

  • Jr. Member
  • **
  • Beiträge: 99
Antw:Sub-Menüs mit iframe?
« Antwort #5 am: 03 Mai 2016, 22:03:50 »
Für alle, die es interessiert, ich habe eine Lösung gefunden:

Ihr müsst dem iFrame Euer Wahl per htmlAttr einen Namen geben:
name=myFrame
Dann könnt Ihr dieses iFrame über JavaScript ansprechen und z.B. mit einem neuen Floorplan beladen:

(trigger WEB JS:document.getElementsByName("myFrame")[0].contentDocument.location.replace("http://[host]:8083/fhem/floorplan/mySubmenu"))
Somit lassen sich Submenüs realisieren, die nur Teile des Bildschirms beanspruchen. der Rest vom Bild bleibt über nur einen Floorplan anprechbar.
Geht sauber und lädt nicht den gesamten Floorplan neu, ist also deutlich schneller und ansehnlicher!
Fhem auf Raspberry Pi3 mit Fritzbox inkl. Steckdosen, Philips Hue inkl. Orsam Lightify-Lampen, eq-3 Max!, SONOS, Rollotron Rolläden, Asus ZenPad, Samsung Galaxy xCover 3