Schenkeli Thomas: Haben iFrames eine Standardgröße?

Hallo,

ich hab ein iFrame in eine Seite eingebunden, dessen Inhalt Scrollbar ist, falls das iFrame für den Inhalt zu klein ist. Jetzt möchte ich aber haben, dass das iFrame einfach so groß angezeigt wird, dass der ganze Inhalt ersichtlich ist. Aber wenn ich nichts tue, ist das iFrame einfach zu klein.

Ich kann dem iFrame natürlich bei Erstellung eine Größe angeben, aber ich weiß bei der Erstellung ja noch nicht wie groß es sein soll. Ich suche also nach einer der zwei Lösungen:

  1. dem iFrame bei Erstellung sagen: Sei genau so groß, dass du den ganzen Inhalt anzeigen kannst, um nix größer und um nix kleiner
  2. die größe des iFrames nach dessen Erstellung aus dem iFrame selbst heraus verändern, weil da weiß ich dann ja wie groß es sein soll

lg & Danke
Thomas

  1. Moin,
    Du bist gerade auf einen der Haupt-Nachteile von Iframes gestossen, herzlichen Glückwunsch :)

    1. dem iFrame bei Erstellung sagen: Sei genau so groß, dass du den ganzen Inhalt anzeigen kannst, um nix größer und um nix kleiner

    Das geht schonmal nicht - der Iframe kann sich nicht nach der Größe seines Inhaltes richten.

    1. die größe des iFrames nach dessen Erstellung aus dem iFrame selbst heraus verändern, weil da weiß ich dann ja wie groß es sein soll

    So etwas ginge mit JavaScript, allerdings nur, wenn der Iframe und die einbindende Seite auf dem selben Host liegen
    (vgl. Same Origin Policy).

    Ein Googlen oder Suchen in der Forumssuche müsste dich zu einem Ergebnis führen.
    Allerdings solltest Du bedenken, dass ein User auch Javascript abschalten kann, und dann geht da mit Größenanpassung gar nix.

    Generell ist es empfehlenswert, von Iframes abzusehen, wenn es sich irgendwie verhindern lässt.

    Viele Grüße,
    Jörg

    1. Moin,

      Generell ist es empfehlenswert, von Iframes abzusehen, wenn es sich irgendwie verhindern lässt.

      Vielleicht kennst du ja eine andere Lösung für mein Problem: Ein Benutzer kann auf einer Seite auswahlen Treffen und in Abhängigkeit dieser Auswahl soll ein Request abgesetzt werden, der eine Tabelle füllt ohne die ganze Seite neu laden zu müssen. Muss da schon AJAX her oder geht das noch ohne?

      Viele Grüße,
      Jörg

      lg
      Thomas

      1. Hallo,

        Vielleicht kennst du ja eine andere Lösung für mein Problem: Ein Benutzer kann auf einer Seite auswahlen Treffen und in Abhängigkeit dieser Auswahl soll ein Request abgesetzt werden, der eine Tabelle füllt ohne die ganze Seite neu laden zu müssen.

        Hm...warum darf die Seite nicht neugeladen werden?
        Ist die so groß?

        Wenn ja:
        AJAX wäre eine Alternative, aber da das auch auf JavaScript aufsetzt funktionierts auch nicht bei jedem User.

        Möglicherweise wäre eine Kombilösung ne Idee:
        Wenn User JavaScript hat:
         - Mach entweder eine Iframe-Lösung, die mit JavaScript
           den Iframe nach dem Laden in der Größe anpasst (wie Du's
           vorhattest)
         - Oder eine AJAX-Lösung (bzw. JSON oder sonst irgendeine Technik
           zum dynamischen Nachladen von Inhalten)

        Wenn der User kein JavaScript hat, lade die Seite beim Request komplett neu.

        Viele Grüße,
        Jörg

        1. Hallo,

          Vielleicht kennst du ja eine andere Lösung für mein Problem: Ein Benutzer kann auf einer Seite auswahlen Treffen und in Abhängigkeit dieser Auswahl soll ein Request abgesetzt werden, der eine Tabelle füllt ohne die ganze Seite neu laden zu müssen.

          Hm...warum darf die Seite nicht neugeladen werden?
          Ist die so groß?

          Eventuell, hängt davon ab welche Daten angezeigt werden. Geht aber auch darum, dass Der Benutzer diverse Sortierungsoptionen einstellen kann, und die dürfen nicht die ganze verloren gehen, nur weil andere Elemente neu geladen werden.

          Wenn ja:
          AJAX wäre eine Alternative, aber da das auch auf JavaScript aufsetzt funktionierts auch nicht bei jedem User.

          Möglicherweise wäre eine Kombilösung ne Idee:
          Wenn User JavaScript hat:

          • Mach entweder eine Iframe-Lösung, die mit JavaScript
               den Iframe nach dem Laden in der Größe anpasst (wie Du's
               vorhattest)
          • Oder eine AJAX-Lösung (bzw. JSON oder sonst irgendeine Technik
               zum dynamischen Nachladen von Inhalten)

          Wenn der User kein JavaScript hat, lade die Seite beim Request komplett neu.

          Klingt gut, wenn auch kompliziert ... Aber einen Versuch wert

          Viele Grüße,
          Jörg