Eigenartiges Verhalten bei Verwendung von PageTab

Begonnen von Kharim, 05 Juni 2016, 15:26:22

Vorheriges Thema - Nächstes Thema

Kharim

Hallo Zusammen,

ich habe hier 8 Seiten welche untereinander per Menü mittels pagetab erreichbar sind.
(siehe Bild1.jpg)

Der Code des Menüs:
<li data-row="1" data-col="8" data-sizex="1" data-sizey="4">
<header>Menue</header>
<div class="cell">
<div data-type="pagetab" data-url="index.html" data-icon="fa-home" class="cell"></div>
<div data-type="label" class="narrow">Heizung</div>
<div data-type="pagetab" data-url="led.html" data-icon="fa-lightbulb-o" class="cell"></div>
<div data-type="label" class="narrow">LED</div>
<div data-type="pagetab" data-url="stat.html" data-icon="fa-bar-chart" class="cell"></div>
<div data-type="label" class="narrow">Statistik</div>
<div data-type="pagetab" data-url="sys.html" data-icon="fa-server" class="cell"></div>
<div data-type="label" class="narrow">System</div>
<div data-type="pagetab" data-url="indexh.html" data-icon="fa-file-text-o" class="cell"></div>
<div data-type="label" class="narrow">Hochformat</div>
</div>
</li>


Nun habe ich begonnen eine zweite Oberfläche zu bauen.
(Bild2.jpg)
Auch dort wollte ich den selben Menücode verwenden....
Doch hier erfolgt plötzlich eine Zwangsweiterleitung auf die pagetab adresse o_O
In der Adresszeile steht dann zb plötzlich: http://192.168.100.30:8083/fhem/ftui/status.html#www.google.de

Der Code dazu:
<li data-row="4" data-col="2" data-sizex="4" data-sizey="1">
<header>Menue</header>
<div class="cell centered small">
<div class="cell left">
<div data-type="pagetab" data-url="www.google.de" data-icon="fa-home" class="cell"></div>
<div data-type="label" class="narrow">Heizung</div>
</div>
</div>
</li>


P.S.: google.de steht dort nur "aus Spaß"...wenn ich hier eine meiner Tablet UI Seiten eintrage, wird diese geöffnet o_O

Warum bitte passiert das?

Danke,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Kharim

Keiner eine Idee dazu?

Ich bekomms nicht in Griff.
Selbst mit einer zweiten Tablet UI Instanz bleibt das Problem.....
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

setstate

Ich verstehe die Frage/ das Problem schon mal nicht. Ist das nicht das Standardverhalten von Pagetab, dass man auf die Unterseiten mittels Hash-Teil der URL kommt.

Kharim

Sorry
Ok, ich versuche es nochmal anders auszudrücken.

Ich habe eine index.html, welche ein Menü mit 6 Pagetabs enthält.
Instgesamt also 6 Seiten - alle haben dieses Menü.
Ich kann von jeder Seite, jede Seite aufrufen und bleibe dann auch auf dieser Seite -> So sollte es sein.

Nun habe ich mir die index.html kopiert, den gesamten "sichtbaren" Inhalt (also bis auf den Kopf und Fuß) gelöscht und neu gestaltet. (Status Seite)
Unter anderem ist auf dieser neuen Seite ein Pagetab eingebaut, der auf die alte index.html verweist.
Diese neue Seite ist nun mittlerweile in einer neuen Tablet-UI Instanz.

((define TABLETUI HTTPSRV ftui/ ./www/tablet Tablet-UI
define TABLETUISTATUS HTTPSRV ftui-status/ ./www/tablet-status Tablet-Status))

Öffne ich nun die neue index.html (zb Direktlink oder aus FHEM heraus) unter www/tablet-status werde ich zwangsweise auf die alte Index.html weiter geleitet - OHNE Klick auf das Pagetab Symbol....
In der Adressleiste wechselt es dann von "http://abc/fhem/ftui-status/" auf "http://abc/fhem/ftui-status/#../tablet/index.html"

Warum diese Zwangsweiterleitung?

P.S.: Durch Experimente heraus gefunden:
Öffne ich nun NACH der Zwangsweiterleitung per Pagetab die Statusseite vom PageTab der alten Index.html entsteht in der Adressleiste
"http://abc/fhem/ftui-status/#../tablet-status/index.html"
Da die Statusseite sich aber alle 30 Sekunden aktualisiert, lande ich bei neu laden abermals auf der alten Index.html.....

Ich versteh es nicht o_O

Ich hab den Spaß mal als Video angehangen...vieleicht wird es dort deutlicher.

Danke,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

DocCyber


Ich habe auch noch nicht wirklich verstanden, was du realisieren möchtest.
Interessanterweise ist aber dein "Fehler" genau das, was ich gern haben möchte, nämlich das Aufrufen einer Seite OHNE Klick auf einen button.  ;)

Nun aber zu deinem Problem:
Kann es evtl mit dem attribut directoryIndex zusammenhängen? vlg. Screenshot
Damit kannst du angeben, welche html-Datei als Indexdatei geladen werden soll.


Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Kharim

Zitat von: DocCyber am 17 Juni 2016, 17:08:19
Ich habe auch noch nicht wirklich verstanden, was du realisieren möchtest.
Interessanterweise ist aber dein "Fehler" genau das, was ich gern haben möchte, nämlich das Aufrufen einer Seite OHNE Klick auf einen button.  ;)

Nun aber zu deinem Problem:
Kann es evtl mit dem attribut directoryIndex zusammenhängen? vlg. Screenshot
Damit kannst du angeben, welche html-Datei als Indexdatei geladen werden soll.

Dieser Wert ist bei mir nicht gesetzt. Ein Setzen ändert leider aber auch nichts am Fehler.

Ich versuchs nochmal.....

Ich habe zwei FTUI Oberflächen:
1.) DEF    ftui-status/ ./www/tablet-status Tablet-Status
2.) DEF    ftui/ ./www/tablet Tablet-UI

Beide liegen im FHEM unter www und dann den entsprechenden Unterordner.
Beide haben eine index.html.

1.) Statusübersicht über Fenster und Temperaturen
2.) Heizkörperthermostate

Die index.html der 2.) ist eine Kopie der index.html aus 1.), aus der ich alle Widgets gelöscht habe und mit neuem Inhalt versehen habe.
Unter anderem ist auf der index.html 2.) ein Pagetab auf die index.html 1.) vorhanden.

Öffne ich nun, wie im Video zusehen, die index.html 2.) sieht man ganz kurz deren Struktur, wird dann aber auf die index.html 1.) umgeleitet.
Per Klick geht es dann über ein Pagetab auf die index.html 2.).....sobalt aber der Browser die index.html 2.) neu läd, wird man erneut auf die index.html 1.) umgeleitet.

Entferne ich den Pagetab, wird die index.html 2.) korrekt geladen.
(Trage ich spaßeshalber in den Pagetab zb google.de ein, entsteht wie eingangs beschrieben abermals eine "Weiterleitung", nur eben mit einer ungültigen Adresse.)

Ich möchte nun diese Zwangsweiterleitung verhindern!
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

DocCyber

#6
Ich habe sogar 3 verschiedene Oberflächen, alle für Tablet-UI. Eine für die Version 2.0, eine für die Eval-Version 2.2  und eine Spielwiese für 2.2.
Alle laufen einwandfrei. Ich verwende lediglich FTUISRV anstelle von HTTPSRV, aber das spielt für die Definition keine Rolle
(Anm.: HTTPSRV und FTUISRV unterscheiden sich hinsichtlich der normalen Funktionalität überhaupt nicht. Mit FTUISRV hat man aber die zusätzliche Möglichkeit, HTML-Code mit einer Art Include einzubinden und auch Parameter zu übergeben. Das spart jede Menge Schreibarbeit und kann besonders bei Änderungen äußerst hilfreich sein.)

Falls directoryindex nicht gesetzt ist, gilt übrigens index.html als default
Evtl helfen dir meine Definitionen weiter:

# Definition als FTUISRV:
define tabletui FTUISRV ftui1/ ./www/tablet Tablet-UI
attr tabletui directoryindex test.index.ftui.html
attr tabletui room 00_Interfaces

# Definition als FTUISRV (für v2.2):
define tabletui_eval FTUISRV ftui2/ ./www/tablet_eval Tablet-EVAL
attr tabletui_eval directoryindex index__.ftui.html
attr tabletui_eval room 00_Interfaces

# Definition als FTUISRV (für v2.2):
define tui_spielwiese FTUISRV ftui3/ ./www/tui_spielwiese Spielwiese
attr tui_spielwiese directoryindex index.html
attr tui_spielwiese room 00_Interfaces



Ich schrieb zuvor, dass ich gern eine Page 'automatisch' öffnen würde. Ich habe nun herausgefunden, dass man es mit class="default" hinbekommt.
Das hatte ich zuvor nicht gesetzt. Vielleicht ist das für in deinem Fall auch hilfreich.
https://forum.fhem.de/index.php/topic,50945.msg462970.html#msg462970
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Kharim

Nicht wirklich...ich bräuchte quasi ein anti-default Eintrag, da sich die Seite verhällt, als wäre class default gesetzt.

Ich habe nun ein Pagetab mit Link auf mich selber erstellt - dieser muss der erste Pagetab im Quellcode sein.....Damit wird auf sich selbst verlinkt und neu geladen.
Somit bleibt er zumindest auf der Seite.....nicht schön, aber momentan meine einzigste Chance...:-(
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

DocCyber

Ich setze nur noch TUI v2.2 ein, und zwar mit pagebutton statt pagetab.
Bei pagebutton class="default" wird die erste Sub-Seite automatisch geladen; bei pagebutton mit class="" passiert das eben nicht.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox