Hi,
folgendes Problem:
ich habe eine Seite mit einem iFrame, der nested auf einem DIV-Layer (id="cdiv") liegt. Der Inhalt dieses iFrames wird dynamisch per
document.getElementById('iframe1').src=dieURL;
geladen.
Das Problem ist, dass sich die größe des iFrames nicht dynamisch an die Länge des geladenen Dokuments anpasst und somit abgeschnitten wird.
Folgende Lösungsansätze mit folgender Funktion, die beim NS4 und IE einwandfrei funktioniert. Jedoch bekomme ich die Höhe des neu geladenen Dokuments beim NS6 (is_DOM) einfach nicht heraus. Auch der IE5 auf dem MAC hat damit scheinbar Probleme, deshalb die fixe Höhe von 2500px.
function iFrameHoehe(){
if (is_NS4) {
layerHeight = document.layers['cdiv'].document.layers['ilayer1'].clip.height + 182;
// DocumentHeight ist die Höhe des Hauptdokuments.
if (layerHeight < DocumentHeight) {
layerHeight = DocumentHeight;
}
document.layers['cdiv'].window.document.height = layerHeight;
document.layers['cdiv'].clip.height = layerHeight;
}
if (is_IE){
if (is_mac)
document.all('iframe1').style.height = 2500;
else
document.all('iframe1').style.height = document.iframe1.document.body.scrollHeight;
}
else if (is_DOM) {
// alert(document.getElementById('iframe1').offsetHeight);
// document.getElementById('iframe1').style.height = document.getElementById('iframe1').body.scrollHeight;
// document.getElementById('iframe1').style.height = document.getElementById('iframe1').height;
document.getElementById('iframe1').style.height = 2500;
}
}
Hat da jemand eine Lösung parat?
Danke
Christian