Auslesen und verändern von Frame und Window-Attributen unter Netscape und IE
Lars
- javascript
Hallo,
ich habe mit der Ansteuerung von Frames/Windows mit Javascript im IE 5.01 Probleme.
Ich möchte bei einem Resize des Browser-Windows überprüfen, ob durch eine Veränderung der Windowgröße die Minimalbreite/Höhe für bestimmte Frames oder das Window unterschritten wurde.
Im Netscape:
if(window.frames[name].innerHeight < minimum)
{
window.frames[name].InnerHeight = minimum;
// ggfs. mit window.innerheight = minimum.window
// die richte Fenstergröße setzen.
}
Für innerWidth läuft es gleich ab.
Die Funktion läuft im Netscape 4.7 unter NT ohne Probs.
Lade ich nun die Seite mit dieser Fkt. in einen IE 5.01,
so klappt nichts.
Lasse ich mir mit
alert(window.frames[name].innerHeight);
die Höhe ausgeben, so steht dort nur
undefined
Kann mir irgendjemand einen Tipp geben, wie ich beim IE die Daten auslese/ändere?
Eine Quelle mit den benötigten Infos zum selber nachlesen wäre auch nicht schlecht.
Vielen Dank im vorraus.
MfG
Lars
Hallo Lars,
Lasse ich mir mit
alert(window.frames[name].innerHeight);
die Höhe ausgeben, so steht dort nur
undefined
Ganz einfach: MS IE unterstuetzt innerWidth und innerHeight nicht!
Im MS IE gibt es nur so was:
alert(window.frames[name].document.body.clientWidth);
Als Workaround kannst du dir eine Browserabfrage machen - und da es sich sowieso um neuere Befehle handelt, kannst du auch gleich die typische DHTML-Abfrage dafuer nehmen:
if(document.layers)
.....window.frames[name].innerWidth
else if(document.all)
.....window.frames[name].document.body.clientWidth
Wobei beide Werte meines Wissens nicht genau den gleichen Wert liefern, da die "Box", die der body bildet, etwas anderes ist als der Rahmen, der das Fenster definiert.
viele Gruesse
Stefan Muenz