[FUIP] iOS Safari Fullscreen Mode bei Seitenwechsel funktioniert nicht

Begonnen von sTaN, 06 November 2022, 21:04:12

Vorheriges Thema - Nächstes Thema

sTaN

Lieber Thorsten,
liebe Community,

trotzdessen ich FHEM nun seit bestimmt 14 Jahren nutze, bin ich erst jetzt auf FUIP gestoßen! :-D
Wirklich genial was du (Thorsten) da gezaubert hast!

Ich wollte den alten Thread nicht noch mal ausgraben, da er als erledigt markiert wurde und vielleicht nur zum Teil mein Problem oder eine mögliche Lösung enthält.

Problem:
Ich füge die FUIP Seite auf dem iPad mittels Option "Zum Home-Bildschirm" (Bild "iOS_add_to_homescreen") hinzu, was bewirken soll, dass die Seite immer im Fullscreen Mode startet und ohne Adressleiste angezeigt wird. Das klappt unter FUIT und zumindest für die Startseite in FUIP hervorragend. (Bild "Fullscreen_Mode")

In FUIP funktioniert es leider nur solange, bis im Menü eine andere Seite ausgewählt wird. Dann erscheint oben die Adressleiste und somit passt die Darstellung nicht mehr. (Bild "fullscreen_with_address")

mögliche Lösung pagebutton oder bessere Alternative?
In meiner aktuelle FUIT Oberfläche für mein iPad 3 an der Wand, habe ich als Menü folgende Definition mit pagebutton verwendet:

<li data-row="2" data-col="1" data-sizex="1" data-sizey="2" class="">
      <header><div data-type="label" class="">Menü</div></header>
      <div class="large">
        <div data-type="pagebutton" data-url="#page_content_home.html" data-load="#content_home"
          data-off-background-color="transparent" data-off-color="#606060"
          data-on-background-color="#606060" data-on-color="#222222"
          data-active-pattern="(.*/||.*index.html||.*#page_content_home.html)"
          data-icon="fa-home"
          class="default top-space">
        </div>
      </div>
      <!-- <div class="large">
        <div data-type="pagebutton" data-url="#page_content_multimedia.html" data-load="#content_multimedia"
          data-off-background-color="transparent" data-off-color="#606060"
          data-on-background-color="#606060" data-on-color="#222222"
          data-active-pattern=".*#page_content_multimedia.html"
          data-icon="fa-music" class="top-space">
        </div>
      </div> -->
      <div class="large">
        <div data-type="pagebutton" data-url="#page_content_sonos.html" data-load="#content_sonos"
          data-off-background-color="transparent" data-off-color="#606060"
          data-on-background-color="#606060" data-on-color="#222222"
          data-active-pattern=".*#page_content_sonos.html"
          data-icon="fa-music" class="top-space">
        </div>
      </div>
      <div class="large">
        <div data-type="pagebutton" data-url="#page_content_heizung.html" data-load="#content_heizung"
          data-off-background-color="transparent" data-off-color="#606060"
          data-on-background-color="#606060" data-on-color="#222222"
          data-active-pattern=".*#page_content_heizung.html"
          data-icon="oa-sani_heating" class="top-space">
        </div>
      </div>
    </li>
   


Das Menü sieht unter FUIT wie im Bild "FUIT_pagebutton_menu" aus.

Vorteil hier ist, dass beim Seitenwechsel nicht die komplette Seite neu lädt und ich somit in iOS auch keine Adressleiste angezeigt bekomme. Das sollte auch im html header mittels folgenden Inhalten verhindert werden, wenn man sich die Seite als "App" auf den Homebildschirm legt:

    <!--Fullscreen bei Aufruf in Apple Web Browser-->
    <meta name="apple-mobile-web-app-capable" content="yes">


Habe in der 42_FUIP.pm auch gesehen, dass dieser meta tag bereits gesetzt ist, aber scheinbar klappt es nicht beim Seitenwechsel mit FUIP.  :(
Getestet nur auf einem iPad Air 2 und iPad Pro, da FUIP wie es aussieht leider nicht mehr auf dem iPad 3 mit iOS 9.3.6 unterstützt wird und den Error 209 bringt. Deshalb wollte ich auf das iPad Air 2 umsteigen.

Nun wollte ich das Menü in FUIP samt kleinen Icons genauso wie in FUIT nachbauen und finde keine "einfache" Lösung. Er lädt beim Wechsel von z.B.: Home zu Musik immer die ganze Seite neu und somit erhalte ich auch die Adressleiste in iOS.  :(

Kann man das irgendwie verhindern und FUIP komplett im Fullscreen unter iOS verwenden?

Danke und Gruß
sTaN

Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Thorsten Pferdekaemper

Hi,

jaja, mal wieder Apple. Ich weiß schon, warum ich Apple-Zeugs nur in die Hand nehme, wenn es wirklich sein muss.
Zum Glück (für Dich) sehen es nicht alle meine Familienmitglieder so und wir haben tatsächlich ein iPad (8. Generation). Damit konnte ich das Problem zumindest mal nachvollziehen.
Anscheinend wird unter iOS nur genau die Seite, die man "Zum Home-Bildschirm" hinzufügt als "Fullscreen-App" betrachtet. Alles andere sind dann eben Links "aus der Seite heraus".
Eine Lösungsmöglichkeit scheint ein eigenes Manifest (manifest.json-Datei) zu sein. Allerdings weiß ich nicht, ob dann nicht automatisch alle FUIP-Seiten als Fullscreen-App angezeigt werden. Das müsste ich mal ausprobieren. Ansonsten müsste ich das einstellbar machen.
...momentan ist das aber schwierig, da mein Sohn noch ein bisschen krank ist und deswegen das iPad "braucht". (...oder alternativ "braucht" er mich und dann kann ich auch wieder nichts anderes machen.)

Ich habe auch mal versucht herauszufinden, warum FUIP nicht auf dem alten iPad laufen sollte. Ich habe aber nichts zu einem "Error 209" oder ähnlich gefunden. Wenn Du dazu noch ein paar Details liefern könntest, dann kann ich mir es vielleicht nochmal anschauen.

Noch was zum Pagebutton: Das werde ich nicht einbauen. Soweit ich verstehe müsste ich dafür die ganze Struktur von FUIP ziemlich umbauen. Das erscheint mir viel zu viel Aufwand und es ist höchstwahrscheinlich auch unnötig.

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
also ich habe jetzt eine Version, die zumindest auf unserem iPad funktioniert. Wie vermutet hat es was mit dem "manifest" zu tun.
Bevor ich das "offiziell" verfügbar mache, wäre es nett, wenn Du das erst einmal ausprobierst.
Ich gehe mal davon aus, dass Deine FUIP-Version einigermaßen aktuell ist. (Ansonsten kann es sein, dass die Unterschiede zwischen Deiner 42_FUIP.pm und dem, was jetzt kommt, zu groß sind. Also im Zweifelsfall mal ein Update machen oder halt zurückdrehen, wenn's nicht klappt.)
Also: Die hier dranhängende Datei ersetzt die /opt/fhem/FHEM/42_FUIP.pm. Einfach die ursprüngliche nach "42_FUIP.pm.bak" oder sowas umbenennen und dann den Anhang hier drüberkopieren. Dann noch ein shutdown restart.
Danach müsstest Du das "add to home screen" wiederholen, da die Manifest-Datei beim "Installieren" gelesen wird.

Bitte nicht wundern, dass es nirgends eine manifest-Datei gibt. Die wird von FUIP selbst spezifisch zum FUIP-Device zusammengebastelt. 
Es sollte jetzt folgendermaßen funktionieren:

  • Wenn ein Link innerhalb des FUIP-Devices bleibt (also z.B. die ganzen Seiten, die man mit FUI erstellt), dann bleibt es beim Standalone-Modus. D.h. diese Seiten werden zur "App" gehörend betrachtet.
  • Wenn man zu einem anderen FUIP-Device springt, dann wird das als "extern" betrachtet. D.h. es geht ein Browser auf bzw. man sieht die Browser-Navigation so wie es vorher war.
  • Dasselbe gilt für alle anderen Links nach "draußen".
  • Die Darstellung ist nicht "fullscreen", sondern "standalone". D.h. so wie eine normale App das (wahrscheinlich) auch tun würde. Normalerweise heißt das, dass man den Statusbalken oben (mit Batterieanzeige etc.) noch sieht. Ich gehe mal davon aus. dass das so passt.

Probier's mal aus und sag' Bescheid ob es brauchbar ist.

Gruß,
   Thorsten
FUIP

SamNitro

Habe hier mal mal mitgelesen, habe auch iOS in Benutzung, also bei mir funktioniert es.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Thorsten Pferdekaemper

Hi,
schade, dass der OP sich wohl nicht mehr so sehr dafür interessiert.
Danke, SamNitro für die Rückmeldung. Ich hab's jetzt so hochgeladen. D.h. mit dem nächsten Update sollte das automatisch mitkommen.
Gruß,
   Thorsten
FUIP

sTaN

Lieber Thorsten,

vielen Dank für die Rückmeldung und Lösung! Ich habe warum auch immer keinerlei Benachrichtigungen über die Aktivitäten meines Threads erhalten! Das sollte keinesfalls so rüber kommen, als ob ich dafür kein Interesse habe, im Gegenteil. Ich werde dies heute oder morgen gleich ausprobieren und Rückmeldung dazu geben.

EDIT2: Ja mein FHEM und FUIP sind immer auf dem neusten Stand! Du hast deine Änderung der 42_FUIP.pm ja schon offiziell ausgerollt! Genial! Und es funktioniert nun wie es soll!

Vielen Dank und Grüße
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Thorsten Pferdekaemper

Hi,
danke für die Rückmeldung. ...und sorry, wegen des "fehlenden Interesses". Es kommt leider öfter vor, dass irgendwas gaaaanz wichtig ist und dann hört man nichts mehr.
Gruß,
   Thorsten
FUIP