Hallo.
ich hab das jetzt alles versucht, funktioniert hat es leider nicht:
zuerst nochmal kurz zur if-bedingung, die xarax vorgeschlagen hat:
if (parent.document.getElementsByName([FrameName])[0].offsetHeight < document.body.offsetHeight) {...}
Frage an Dich: Wo (in welchem Dokument und in welchem Frame) muß dieses Script hin?
was macht das "< document.body.offsetHeight" für einen sinn? ich will ja mit der höhe der seite, die im iframe dargestellt wird, vergleichen, und nicht mit der höhe der seite, in der das iframe definiert ist.
ich hab trotzdem so einiges versucht, wie ich diese höhe herausfinden könnte und hab sie jeweils ausgeben lassen.
[1. versuch]:
(anm.: detail ist sowohl id als auch name des eingebetteten frames):
alert(document.getElementById("detail").offsetHeight);
Ausgabe: IE=0 OPERA=240
240 ist die höhe des iframes, aber nicht der darin dargestellten seite.
Womit Dir hoffentlich klargeworden ist, der IE braucht wie in http://de.selfhtml.org/javascript/objekte/all.htm#offset_height document.all.[Bezeichner].offsetHeight.
Warum hast Du es nicht mit dem in http://de.selfhtml.org/javascript/objekte/all.htm#offset_height aufgeführten Beispiel zumindes für den IE nochmal versucht?
[2. versuch]
('dieseDat' ist eine id, die ich im body-tag der seite, die im frame dargestellt werden soll, definiert habe - in anlehnung an dieses beispiel: http://de.selfhtml.org/javascript/objekte/all.htm#offset_height ):
alert(document.getElementById("dieseDat").offsetHeight);
funktioniert weder bei ie noch opera --> javascript-fehler
Warum hast Du es nicht mit dem in http://de.selfhtml.org/javascript/objekte/all.htm#offset_height aufgeführten Beispiel zumindes für den IE nochmal versucht?
Hast Du diesen Codeschnipsel überhaupt im Dokument des iframes ausgeführt?
[3. versuch]
alert(document.getElementsByName("detail").offsetHeight);
sowohl bei ie als auch bei opera kommt im fenster: undefined
Die Erklärung des Versuchs ist mit dem Versuch 1. sinngleich. Erstaunlich nur, daß es ein komplett anderes Ergibnis ist. Wer soll denn bei so einer Erklärung noch wissen, wie er Dir weiterhelfen kann?
[4. versuch]
(so wie es xarax vorgeschlagen hat, zu versuchen)
alert(parent.document.getElementsByName([detail])[0].offsetHeight);
Vergleiche doch mal bitte Versuch zwei mit diesem hier! [FrameName] war nicht so zu verstehen, daß Du hier eckige Klammern nutzen sollst, sondern in Anführungsstriche gesetzt den FrameName einfügen sollst. Es tut mir leid, wenn ich auf ein gewisses Grundverständnis der Materie gebaut habe.
Hast Du diesen Codeschnipsel überhaupt im Dokument des iframes ausgeführt?
funktioniert weder bei ie noch opera --> javascript-fehler
Logisch, oder?
gibt's für dieses problem überhaupt eine lösung?
Ja. Also bitte denke auch mal selber mit, vieles ist nur eine Vereinfachung in den Hilfestellungen, die hier gegeben werden. Es wird Dich also keiner davon befreien, selbst aktiv zu werden, nachzuschlagen (bsw.: http://de.selfhtml.org/javascript/objekte/all.htm#ansprechen) und nachzudenken.
wie kann man auf die im frame dargestellte seite zugreifen, um per javascript die höhe abzufragen? das ist die eigentlich problemstellung.
Das solltest Du gerade nicht tun, denn es ist relativ schwer vom parent aus sauber festzustellen, ob das Dokument im iframe komplett geladen wurde. Daher geht mein Beispiel, was die Lösung bereits koplett beinhaltet, NICHT vom parent aus, sondern vom Dokument im iframe selbst; was damit die oben an Dich gestellte Frage auflöst.
Gruß aus Berlin!
eddi