Aufruf der WebUi-Oberfläche in iFrame

Wenn ich bei meiner 3010 versuche, die Kamera-WebUi in einem iFrame aufzurufen

<iframe src=„http://IP-Adresse/"height="630“ width=„670“ style=„vertical-align:middle; border: 2px solid blue;“></iframe>

dann öffnet sich nach Eingabe von Benutzer und PW das iFrame-Fenster und es sind auch einige Teile des WebUi sichtbar, aber das war’s auch schon. Geht das prinzipiell nicht oder mache ich was falsch?

Gruß Manfred

Hallo Manfred,

bei iFrames ist es so, dass Sie quasi einen eigenen Browser innerhalb einer Seite bilden. In deinem Fall hat dieser iFrame die Größe 630x670. Das web-ui ist natürlich größer… allein das Videobild hat ja 640x480. Um alles zu sehen - ich nehme mal an, dass das deine Absicht war - kannst du folgendes tun:

  • <iframe src=„http://IP-Adresse/“ height=„630“ width=„670“ style=„vertical-align:middle; border: 2px solid blue;“ scrolling=„yes“></iframe>
    Damit hat dein iframe eigene Scrollbars mit denen du etwas besser navigieren kannst.

  • <iframe src=„http://IP-Adresse/“ style=„vertical-align:middle; border: 2px solid blue;“ scrolling=„no“></iframe>
    Dies sollte den iframe an die Größe des Inhalts anpassen, damit wirklich alles dargestellt wird.

Eleganter wäre es jedoch, gänzlich auf iFrames zu verzichten. Denn wenn das Kamera UI im iFrame angezeigt wird, kannst du die Funktionen, die du brauchst auch direkt in die Seite einbinden. Was hast du denn vor?

Danke für deine Vorschläge, aber die funktionieren leider genauso wenig, einfach mal ausprobieren :-). Das WebUi wird im iFrame nach wie vor nicht bis zum Ende ausgeführt, sondern friert einfach mitten drin ein. Ich vermute mal, das ist ein prinzipielles Problem, von der Definition der Größe des iFrames (mit oder ohne Scrollbalken) hängt es offensichtlich nicht ab. Warum die Darstellung im iFrame und nicht direkte Einbindung in die Seite? Da bin ich leidenschaftslos, aber mich interessiert einfach, warum es im iFrame nicht funktioniert.

Gruß Manfred

Ok, dann habe ich dich falsch verstanden. Ich dachte du meinst mit

es sind auch einige Teile des WebUi sichtbar

dass der iframe einfach zu klein ist und daher nur einige Teile der Oberfläche sichtbar sind.

Dann ist dein Problem klar.

Zum Hintergrund:
INSTAR verwendet keine vollständig eigene Firmware zur Steuerung der Kamera sondern „nur“ ein eigenes UI, dass durch cgi-Aufrufe die unterliegenden Firmware anspricht. Das heißt, dass die UI nur aus reinem HTML und Javascript besteht, in dem die Logik der Steuerung durch den Nutzer steckt.

Leider gibt es keine exakte Lösung des iFrame Problems. Die Javascript Funktionen, die vom Inhalt des iFrames aufgerufen werden verstoßen gegen die Sicherheitsrichtlinien der meisten Browser, die es Inhalten in iFrames nicht erlauben, auf Elemente Außerhalb des iFrames zuzugreifen, es sei denn sie liegen unter der gleichen Adresse und Port. Genaus das versuchen aber die Scripte, die z.B. die Sprache des UI festlegen. Scheitern diese, funktioniert garnichts.

Ein möglicher Workaround wäre, einen Teil der Scripte manuell anzupassen und von der Einbettenden Seite aus auszuführen. Das ist aber eine eher schmutzig Lösung, die außerdem ein gewisses Maß an Javascript Kenntnissen erfordert und vermutlich mit viel Rumprobieren verbunden ist.

Daher würde ich dir empfehlen, auf eine iFrame Lösung zu verzichten.

  • sollte ich mich bei meinen Äußerungen irren, lasse ich mich gerne belehren -

Gruß, HannesFr

Klingt einleuchtend. Danke für die Erklärung.

Gruß Manfred