Gernot Back: Scrollbuttons nur anzeigen, wenn notwendig

Beitrag lesen

Hallo Harri,

zuerst nochmal kurz zur if-bedingung, die xarax vorgeschlagen hat:
if (parent.document.getElementsByName([FrameName])[0].offsetHeight < document.body.offsetHeight) {...}
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.

Du hast Recht: vergleiche es mal mit FrameName.document.body.offsetHeight (MSIE und OPERA)
oder
FrameName.innerHeight(Mozilla und OPERA)

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.

Nun du gibst doch diesem IFRAME mit CSS eine Höhe, die kennst du doch, du kannst sie dir natürlich auch mit
document.getElementById("detail").style.height auch wieder ausgeben lassen, wenn du mit Pixelwerten gearbeitet hast, schneidest du mit substring() die beiden letzten Buchstaben wieder ab und machst ein parseInt(). Dann solltest du auch vergleichen können

[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

Das müsste aber gehen, wenn du es von 'dieseDat' selbst aus und nicht von der Muttersete aus aufrufst.

[3. versuch]
alert(document.getElementsByName("detail").offsetHeight);

Da fehlt die [0] für das erste Array-lement_^

sowohl bei ie als auch bei opera kommt im fenster: undefined

[4. versuch]
(so wie es xarax vorgeschlagen hat, zu versuchen)
alert(parent.document.getElementsByName([detail])[0].offsetHeight);
funktioniert weder bei ie noch opera --> javascript-fehler

Wahrscheinlich hat XaraX das wie Versuch 3 gemeint.

gibt's für dieses problem überhaupt eine lösung?

Nicht verzweifeln, wir sind ja da, ich denke es gibt eine Lösung!

zu "google ist dein bester freund": natürlich hab ich das versucht, bevor ich hier das erste mal gepostet habe, darum hab ich auch geschrieben: ich habe leider nichts gefunden...
es ist allerdings auch nicht so leicht, nach welchen stichwörtern man suchen soll.

Ich glaube dir das!

Gruß Gernot