[ERLEDIGT] IFRAME-API Inhalt wird nicht korrekt angezeigt <> Browserproblem

  • Hallo,


    um die Iframe-API etwas zu testen, habe ich einfach mal eine beliebige Webseite als Inhalt eingebunden.
    Die Menus im Navigationsbereich werden korrekt erzeugt, allerdings wird der Inhalt nach dem anklicken nur im oberen Bereich (15% des Bildschirms) angezeigt.


    Mit anderen Browsern wird die Seite mit der korrekten Größe angezeigt.
    Es liegt also ganz klar nicht an der IFRAME-API, aber hat jemand eine Idee, weshalb das so ist ?


    viele Grüße
    Matthias Knick

  • Hallo Herr Knick,


    ja, das ist nicht ganz so einfach... :)
    Es ist wirklich wichtig, dass die per IFRAME eingebundene Seite die bei der API-Dokumentation bereitgestellte JavaScript-Datei lc-api.js verwendet - siehe Handbuch:

    Zitat


    Verwendung von lc-api.js
    Damit die Größe des IFRAMEs automatisch angepasst werden kann ist der Aufruf einer bestimmten JavaScript-Funktion notwendig sobald der Inhalt vollständig geladen wurde. Die Datei lc-api.js enthält den dazu notwendigen Code.


    Aus Sicherheitsgründen erlaubt der Browser es dem Hauptfenster nämlich nicht, die tatsächliche Größe eines eingebetteten IFRAME-Inhalts auszulesen. Genau das muss LiveConfig aber machen, um die Größe des IFRAMES so anzupassen, dass der komplette Inhalt dargestellt werden kann, ohne innerhalb des Frames scrollen zu müssen.


    Also: it's not a bug, it's a (security) feature. :)


  • Es ist wirklich wichtig, dass die per IFRAME eingebundene Seite die bei der API-Dokumentation bereitgestellte JavaScript-Datei lc-api.js verwendet - siehe Handbuch:


    Also: it's not a bug, it's a (security) feature. :)


    Vielen Dank, hätte ich auch selbst drauf kommen können, da es in Ihrer Online-Demo tadellos funktioniert...


    viele Grüsse


    Matthias Knick

  • Ich quäl mich daran auch gerade ab da ich Seiten einbinden "muss" an denen nichts geändert werden darf geschweige denn ein JS geadded wird. Hab dann viel mit "Zwischenseiten" per PHP probiert aber das ist auch nur halbwegs brauchbar. Schlussends ist das ganze nur brauchbarer wenn man eigenen Content einbinden möchte, Einbindungen wie externes PHPMA, ZNC-Webinterface und ähnliches kann man leider vergessen.


    Die Idee mit der "Iframe API" ist nett aber nur ein Tropfen auf dem heissen Stein, da gibts durchaus bessere Lösungen bei anderen Paneln, vielleicht kommt da ja nochmal was ;) Die Api Extension wiederum ist natürlich echt nicht schlecht.

  • Die Idee mit der "Iframe API" ist nett aber nur ein Tropfen auf dem heissen Stein, da gibts durchaus bessere Lösungen bei anderen Paneln


    Für konkrete Vorschläge sind wir immer offen.
    Mir sind (auch wenn das vielleicht aus Herstellersicht etwas doof klingt) keine besseren Lösungen bekannt.
    Bei der IFRAME-API handelt es sich um mehr als nur das blinde Einbinden von einem Link. Letzteres wäre nämlich auch keine wirkliche Erweiterung der Funktionalität (API = Application Programming Interface), sondern würde den Benutzer bei völligem Verlust der Authorisierungsinformationen auf eine externe Seite schicken.
    Falls Sie so etwas machen möchten, binden Sie einfach (ähnlich wie auf den Demo-Seiten) eine statische Seite ein, auf der Sie die entsprechenden externen Links bereitstellen.


    Nur bei Verwendung des JavaScript-Codes besteht die Möglichkeit, seitens des eingebundenen Scripts herauszufinden, welcher User gerade am LiveConfig angemeldet ist und ob die Session noch gültig ist.
    phpMyAdmin sollte über den phpMyAdmin-Link (Serververwaltung -> Datenbanken -> ...) hinterlegt werden - dann wird dieser bei den Kunden in der Datenbank-Liste mit eingeblendet.


    Viele Grüße


    -Klaus Keppler

  • Ja, phpmyadmin war ein blödes Beispiel :D Roundcube wieder ein anderes *g* Wie gesagt, mit der extension lassen sich da hybsche eigene Sachen kreieren und basteln, ich bin an manchen Sachen bereits eifrig dran, "Fertiglösungen" wie andere Panel / Interfaces sind da leider etwas schwieriger wenn man es sauber lösen will ohne besagtes JS direkt in das Ziel einzubinden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!