• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    Gelöst IFrame mit dynamischer Größe

    Feature-Vorschläge Web
    7
    18
    1.3k
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • sctechS
      sctech @oschuetze
      zuletzt editiert von

      @oschuetze In unserem Kontext ist die Umsetzung insofern korrekt, dass wir das IFrame innerhalb einer Lightbox anzeigen und diese sich in der Höhe immer der aktuellen Browserhöhe anpasst. Scrolling wird dann nur innerhalb der Lightbox verwendet.

      Ich verstehe aber dein Anliegen: Der IFrame-Container soll immer so gross sein, wie der Inhalt der eingebetteten Seite. Leider ist das definitiv nicht ohne Anpassung durch ChurchTools möglich. Auf Grund der Same-origin policy kann die Hauptseite nicht auf Eigenschaften der eingebetteten Seite zugreifen, sofern die beiden Seiten nicht auf derselben Domains betrieben werden.

      Heisst also, von Seite ChurchTools würde eine Erweiterung benötigt, die beim Load bzw. Resize der Seite, eine Funktion auf der übergeordneten Seite aufruft.

      z.B. in der Art:

      Code innerhalb des IFrames (seitens ChurchTools):

      // Code inside iframe
      
      window.addEventListener("load", calcHeight);
      window.addEventListener("resize", calcHeight);
      
      function calcHeight() {
         var height = document.getElementsByTagName("html")[0].scrollHeight;
         parent.postMessage(["setHeight", height], "*");
      }
      

      Code innerhalb der übergeordneten Seite:

      window.addEventListener('message', function(e) {
        var $iframe = document.getElementsById("myiframe");
        var eventName = e.data[0];
        var data = e.data[1];
        switch(eventName) {
          case 'setHeight':
            $iframe.height(data);
            break;
        }
      }, false);
      

      Eine solche Erweiterung durch ChurchTools müssten wir dann wohl als Feature Request einordnen.

      oschuetzeO 1 Antwort Letzte Antwort Antworten Zitieren 0
      • oschuetzeO
        oschuetze @sctech
        zuletzt editiert von

        @seetalchile
        Jep. In diese Richtung ging auch der Link, den ich in meinem ursprünglichem Posting erwähnt hatte. Danke trotzdem für Deine Analyse und Unterstützung. Zumindest sollten die Church-Tools Kollegen jetzt sehen, dass dieser Usecase sich nicht ohne eine kleine Anpassung im CT Code lösen lässt.

        1 Antwort Letzte Antwort Antworten Zitieren 0
        • M
          merhard
          zuletzt editiert von

          Das Problem ist folgendes.
          Man kann aus sicherheitsgründen nicht auf den Inhalt eines iFrames zugreifen. Die Seite im iFrame könnte aber eine Nachricht an die Elternseite schicken und der mitteilen wie groß sie jetzt ist, damit die dann die größe des iFrames anpassen kann.

          Dafür müsste aber Churchtools diesen Code bei sich einbauen, der die Nachricht an die Elternseite schickt.
          Das fände ich auch ziemlich nice. Denn ohne sind iframes immer nur so ne halb gute Lösung.

          Hier zum Beispiel sieht man den Code für Kind und Elternseite.
          https://gist.github.com/jamenlyndon/170af98d77d93a0df01c

          M B 2 Antworten Letzte Antwort Antworten Zitieren 0
          • M
            merhard @merhard
            zuletzt editiert von

            @merhard Ups, ich hab grad gesehen, dass steht ja schon alles im Ursprünglichen Post. Sorry 😃

            M 1 Antwort Letzte Antwort Antworten Zitieren 0
            • M
              merhard @merhard
              zuletzt editiert von

              Wurde aber noch nicht verbaut, oder?

              1 Antwort Letzte Antwort Antworten Zitieren 0
              • B
                bwl21 @merhard
                zuletzt editiert von bwl21

                @merhard gut fände ich auch wenn man dem iframe mitgeben könnten, wie groß er sein soll.

                Noch besser fände ich wenn es andere Möglichkeiten anstelle iframe gäbe. Man könnte z.b. ein API haben, über das sich das aufrufende CMS das HTML holen und einbetten könnte.

                M 1 Antwort Letzte Antwort Antworten Zitieren 0
                • M
                  merhard @bwl21
                  zuletzt editiert von

                  @bwl21 Also eine API gibt es ja. Aber ob sich der Aufwand jetzt lohnt da jetzt einen eigenen API zugriff zu programmieren.
                  Für mich wäre alles gelöst, wenn der Iframe seine größe weitergeben würde, wie oben beschrieben.

                  B 1 Antwort Letzte Antwort Antworten Zitieren 0
                  • B
                    bwl21 @merhard
                    zuletzt editiert von

                    @merhard sagte in IFrame mit dynamischer Größe:

                    @bwl21 Also eine API gibt es ja. Aber ob sich der Aufwand jetzt lohnt da jetzt einen eigenen API zugriff zu programmieren.
                    Für mich wäre alles gelöst, wenn der Iframe seine größe weitergeben würde, wie oben beschrieben.

                    Wie kannst du dem iframe mitgeben, wie groß er sein soll?

                    M 1 Antwort Letzte Antwort Antworten Zitieren 0
                    • M
                      merhard @bwl21
                      zuletzt editiert von

                      @bwl21 Also man kann einem Iframe ja eine Festgelegte Höhe geben über das HTML Attribut height (Siehe https://www.w3schools.com/tags/tag_iframe.ASP)

                      Aber leider können wir nicht wissen wie lang der Inhalt des Iframes ist. Das entscheidet sich ja je nachdem wieviele Einträge z.b. in einer Liste geladen werden etc.
                      Dafür müsste Churchtools etwas ändern, so dass sich unser Iframe automatisch anpassen könnte.

                      1 Antwort Letzte Antwort Antworten Zitieren 0
                      • M
                        merhard
                        zuletzt editiert von

                        Hey, ich hab für ein anderes Projekt mal eine Testseite gebaut, auf der so ein Iframe Resizing angewendet wird.

                        https://mark-erhard.de/iframe-test/

                        Bitte Bitte Churchtools (@jmrauen & @mhuber ), könnt ihr sowas nicht bitte mal einfügen. Das wären doch nur ein paar Zeilen Code, die ihr kopieren könntet ...

                        A 1 Antwort Letzte Antwort Antworten Zitieren 1
                        • A
                          Andrej @merhard
                          zuletzt editiert von

                          @merhard das wäre top, wenn dies auch mit den CT iframes funktioniert!

                          CT 3.x gehosted
                          Freie evangelische Gemeinde (FeG)

                          matthiasdupontM 1 Antwort Letzte Antwort Antworten Zitieren 0
                          • matthiasdupontM
                            matthiasdupont @Andrej
                            zuletzt editiert von

                            Jetzt weiß ich auf jeden Fall wieso das bei uns auch nicht geklappt hat. Das wäre wirklich fantastisch, wenn das umgesetzt werden könnte!

                            jziegelerJ 1 Antwort Letzte Antwort Antworten Zitieren 0
                            • jziegelerJ
                              jziegeler ChurchToolsMitarbeiter @matthiasdupont
                              zuletzt editiert von jziegeler

                              wird mit der nächsten Version (vermutlich 11.09.23) für die Gruppenhomepage inklusive Unterseiten und den Kalender kommen. Wir haben diese Biblothek verwendet

                              1 Antwort Letzte Antwort Antworten Zitieren 1
                              • Erster Beitrag
                                Letzter Beitrag