phase: Höhe eines Framesets ausgeben

hi, ich habe ein einfaches Frameset mit nur einem Frame.
Jetzt möchte ich die gesamte Höhe des Frames ausgeben.

mit

window.document.documentElement.clientHeight;

wird mir nur die fensterhöhe ausgegeben, ich brauche aber die gesamte höhe der ganzen Seite.

wenn ich

window.document.documentElement.height

versuche, wird mir nur undefined ausgegeben.

und

document.height

gibt mir 0 aus.

Freue mich über jeden hilfreichen Tipp.

Viele Grüße,
phase

  1. Hi,

    ich habe ein einfaches Frameset mit nur einem Frame.

    verstehe ich nicht. Wozu verwendet man - wenn man es überhaupt nocht tut - nur _einen_ Frame, wo doch Frames dazu dienten _verschiedene_ Dokumente zu kombinieren?

    wird mir nur die fensterhöhe ausgegeben, ich brauche aber die gesamte höhe der ganzen Seite.

    wenn es nur _ein_ frame ist, gibt es da doch keinen Unterschied.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hallo und danke für deine Antwort.

      Hi,

      »» ich habe ein einfaches Frameset mit nur einem Frame.
      verstehe ich nicht. Wozu verwendet man - wenn man es überhaupt nocht tut - nur _einen_ Frame, wo doch Frames dazu dienten _verschiedene_ Dokumente zu kombinieren?

      Hintergrund ist folgender. Ich möchte eine externe Seite in einem iFrame einbinden und die Höhe des iFrames dann immer an den Inhalt anpassen. Da ich ja keinen Zugriff auf die externe habe, wollte ich den Umweg über eine eigene Seite, in der die externe in einem Frameset liegt gehen.

      »» wird mir nur die fensterhöhe ausgegeben, ich brauche aber die gesamte höhe der ganzen Seite.
      wenn es nur _ein_ frame ist, gibt es da doch keinen Unterschied.

      doch, da gibt es einen Unterschied. Die Fensterhöhe ist so hoch wie ich das Browserfenster schiebe. Aber die Seite die darin geladen wurde kann ja viel höher sein, sodass man scrollen muss. Ich bräuchte also die Höhe, welche die seite benötigt um komplett angezeigt zuwerden.

      Hoffe das war einigemaßen verständlich.

      Gruesse, Joachim

      Viele Grüße,
      phase

      1. Hintergrund ist folgender. Ich möchte eine externe Seite in einem iFrame einbinden und die Höhe des iFrames dann immer an den Inhalt anpassen. Da ich ja keinen Zugriff auf die externe habe, wollte ich den Umweg über eine eigene Seite, in der die externe in einem Frameset liegt gehen.

        Dann ist die Höhe des Dokumentes immer die Höhe des Frames und nicht des Dokuments im Frame. D.h. du kannst diesen Wert nicht ermitteln.

        Struppi.

        1. »» Hintergrund ist folgender. Ich möchte eine externe Seite in einem iFrame einbinden und die Höhe des iFrames dann immer an den Inhalt anpassen. Da ich ja keinen Zugriff auf die externe habe, wollte ich den Umweg über eine eigene Seite, in der die externe in einem Frameset liegt gehen.

          Dann ist die Höhe des Dokumentes immer die Höhe des Frames und nicht des Dokuments im Frame. D.h. du kannst diesen Wert nicht ermitteln.

          ja richtig, ich will ja auch die Höhe des Frames bzw, Framesets (siehe Posttitel). Ist es nicht möglich diese Höhe zu ermitteln?  Gibt es dafür einen bestimmten Grund?

          Vielen Dank,
          phase

          1. Hi,

            Ich möchte eine externe Seite in einem iFrame einbinden und die Höhe des iFrames dann immer an den Inhalt anpassen. [...]

            Dann ist die Höhe des Dokumentes immer die Höhe des Frames und nicht des Dokuments im Frame. D.h. du kannst diesen Wert nicht ermitteln.

            ja richtig, ich will ja auch die Höhe des Frames bzw, Framesets (siehe Posttitel).

            Was willst du mit dieser Höhe?
            Die ergibt sich aus der Formatierung in dem Dokument, in dem das Iframe-Element notiert ist.

            Du willst aber doch den Iframe an die Höhe *seines* Inhaltes anpassen (hast du zumindest gerade zuvor noch geschrieben).

            Ist es nicht möglich diese Höhe zu ermitteln?  Gibt es dafür einen bestimmten Grund?

            Es ist nicht möglich, weil das Dokument, dessen Höhe du ermitteln willst, nicht von deiner Domain stammt - und somit JavaScript keinen Zugriff auf es hat, Stichwort Same Origin Policy.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
            1. Was willst du mit dieser Höhe?
              Die ergibt sich aus der Formatierung in dem Dokument, in dem das Iframe-Element notiert ist.

              Du willst aber doch den Iframe an die Höhe *seines* Inhaltes anpassen (hast du zumindest gerade zuvor noch geschrieben).

              Es ist nicht möglich, weil das Dokument, dessen Höhe du ermitteln willst, nicht von deiner Domain stammt - und somit JavaScript keinen Zugriff auf es hat, Stichwort Same Origin Policy.

              richtig, ich möchte letztendlich den iFrame an die Höhe seines Inhalts anpassen aber auf grund der von dir erwänten Same Origin Policy ist das ja nicht möglich, dewegen dachte ich mir, ich kann das umgehen in dem ich die "fremde" seite in ein "eigens" Frameset einbinde und dieses dann widerum in einen iFrame. um die höhe des iFrame anzupassen, wollte ich dann die Höhe des Framesets ermitteln und diese dann dem iFrame übertragen.

              Also im Grunde wollte ich nur wissen, wie/ob man die Höhe eines Framesets ermitteln kann. scheinbar ist das nicht möglich.

              Vielen Dank.

              1. Hi,

                richtig, ich möchte letztendlich den iFrame an die Höhe seines Inhalts anpassen aber auf grund der von dir erwänten Same Origin Policy ist das ja nicht möglich, dewegen dachte ich mir, ich kann das umgehen in dem ich die "fremde" seite in ein "eigens" Frameset einbinde und dieses dann widerum in einen iFrame. um die höhe des iFrame anzupassen, wollte ich dann die Höhe des Framesets ermitteln und diese dann dem iFrame übertragen.

                Das ist und bleibt unsinnig - die Höhe des Framesets gibst *du* vor, sie hat keinerlei Bezug zum Iframe oder dem darin geladenen Dokument.

                Also im Grunde wollte ich nur wissen, wie/ob man die Höhe eines Framesets ermitteln kann. scheinbar ist das nicht möglich.

                Doch, das ist möglich - aber es nutzt dir hier exakt Nullkommagarnichts.

                MfG ChrisB

                --
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
                1. Das ist und bleibt unsinnig - die Höhe des Framesets gibst *du* vor, sie hat keinerlei Bezug zum Iframe oder dem darin geladenen Dokument.

                  Warum ist das unsinnig? Natürlich gebe ich die Höhe des Framesets vor und die liegt, in meinem Fall bei 100%. Damit weiß ich aber noch nicht wie hoch es tatsächlich ist.

                  Den Bezug zum iFrame möchte ich ja auch nur indirekt herstellen und zwar in der Form, dass der iFrame die Höhe seines Inhalts annimmt (das Frameset).

                  Doch, das ist möglich - aber es nutzt dir hier exakt Nullkommagarnichts.

                  Dann sag mir doch bitte, lieber ChrisB, wie das geht. Bis jetzt konnte ich mir nur die Fensterhöhe ausgeben lassen und das ist definitiv nicht die Höhe des Framesets, denn sonst müsste ich ja nicht scrollen.

                  MFG,
                  phase

                  1. Hi,

                    Warum ist das unsinnig? Natürlich gebe ich die Höhe des Framesets vor und die liegt, in meinem Fall bei 100%. Damit weiß ich aber noch nicht wie hoch es tatsächlich ist.

                    Den Bezug zum iFrame möchte ich ja auch nur indirekt herstellen und zwar in der Form, dass der iFrame die Höhe seines Inhalts annimmt (das Frameset).

                    Was denn jetzt, willst du den Iframe ins Frameset legen, oder das Frameset ins Iframe?

                    Ich sehe immer noch nicht, wie du damit irgendetwas an die Höhe eines von einer externen Domain stammenden Dokumentes anpassen willst.
                    Du ziehst in jedem Falle nur eine weitere "Zwischenschicht" ein - aber an die Höhe des externen Dokumentes kommst du damit immer noch nicht ran.

                    Bis jetzt konnte ich mir nur die Fensterhöhe ausgeben lassen und das ist definitiv nicht die Höhe des Framesets, denn sonst müsste ich ja nicht scrollen.

                    Auch Frames sind Instanzen von window - also ist deren Höhe ebenso zu ermitteln, wie bei window.

                    MfG ChrisB

                    --
                    Light travels faster than sound - that's why most people appear bright until you hear them speak.
                    1. Was denn jetzt, willst du den Iframe ins Frameset legen, oder das Frameset ins Iframe?

                      Ich möchte das Frameset in den iFrame laden und dann den iFrame an die Höhe des Framesets anpassen.

                      Ich sehe immer noch nicht, wie du damit irgendetwas an die Höhe eines von einer externen Domain stammenden Dokumentes anpassen willst.
                      Du ziehst in jedem Falle nur eine weitere "Zwischenschicht" ein - aber an die Höhe des externen Dokumentes kommst du damit immer noch nicht ran.

                      Das war ja die ursprüngliche Frage. Mir ist bekannt, dass ich an die Höhe des externen Dokuments nciht ran komme, daher habe ich es ja mit dem Frameset versucht.

                      Auch Frames sind Instanzen von window - also ist deren Höhe ebenso zu ermitteln, wie bei window.

                      theoretisch. Wenn ich mir aber die Höhe des Frames ausgeben lasse, bekomm ich immer nur die Höhe des Fensters und das ist definitiv kleiner als der Frame da ich ja vertikal scrollen muss. Scheinbar lässt sich die tatsächliche Höhe, welche ein Frame einimmt um den gesammtes Inhalt anzuzeigen, nicht ermitteln.

                      Vielen Dank für die Antworten, auch wenn es mal wieder, wie so oft hier zu einer Grundsatzdiskussion und Fragen nach Gründen wieso weshalb und warum ausartete.

                      1. Hi,

                        Auch Frames sind Instanzen von window - also ist deren Höhe ebenso zu ermitteln, wie bei window.

                        theoretisch. Wenn ich mir aber die Höhe des Frames ausgeben lasse, bekomm ich immer nur die Höhe des Fensters

                        Natürlich. Frames teilen den verfügbaren Anzeigebereich auf - also bekommst du da sicher keine Höhe, die grösser ist als dieser.

                        und das ist definitiv kleiner als der Frame da ich ja vertikal scrollen muss.

                        Jetzt wirfst du Frame und darin angezeigtes Dokument durcheinander.

                        Vielen Dank für die Antworten, auch wenn es mal wieder, wie so oft hier zu einer Grundsatzdiskussion und Fragen nach Gründen wieso weshalb und warum ausartete.

                        Natürlich, diese Fragen *müssen* gestellt werden. Insb. dann, wenn der Frager den Eindruck macht, wenig Erfahrung oder Ahnung zu haben - und sich deshalb auf eine vermeintliche "Lösung" stürzen möchte, die nur noch mehr Probleme mit sich bringt, als eh schon vorhanden.

                        MfG ChrisB

                        --
                        Light travels faster than sound - that's why most people appear bright until you hear them speak.