Hallo,
folgender Schnipsel macht keine Probleme in fast allen Browsern außer netscape (7.1):
+++++++++++++++++++++
<iframe src="include-tabelle.htm" name="content" id="content" frameborder="no" >content</iframe>
<script>
<!--
var winHeight=0;
if (window.innerHeight) {
winHeight = window.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight) {
winHeight = document.documentElement.clientHeight;
}
else if (document.body) {
winHeight = document.body.clientHeight;
}
if (winHeight < 448)
{
document.getElementById("content").height = 150;
}
else
{
document.getElementById("content").height = winHeight - 298;
alert("content"+document.getElementById("content").height);
}
//-->
</script>´
+++++++++++++++++++++
Sinn ist es, die Höhe des iframes abhängig vom Browserfenster dynamisch zu beeinflussen. Die einzige Lösung, dies auch mit Netscape 7.1 hinzubekommen ist die obenstehende.
Problem: Es funktioniert nicht mehr, wenn man den "alert" rausnimmt.
Was völlig sinnlos ist, da ich den "alert" ja gar nicht haben will und der nur zu Testzwecken drin ist.
Damit das Ganz bei einem Resize des Fenster funktioniert ist im HTML-Body noch ein Funktionsaufruf notwendig:
<body onResize="loadit()">
Die Funktion sorgt dafür, dass die Seite neu aufgebaut indem auch das Script neu durchlaufen wird, ohne eine neue Anfrage an den Webserver zu stellen:
function loadit()
{
window.history.go(0);
}
Wie kann ich das "alert" umgehen? Weiß jemand Rat?
bester gruß,
dibbler