resize für NS 4 in mac
knut
- javascript
hallo jscript experten,
ein kleiner aber feiner bug nervt mich schon den janzen Tag , vileicht habt Ihr ja ne Lösung.
Bei Verwendung von NS 4 in Mac wird beim resizen des Fensters das Layout zerschossen (div Tag),der Versuch mittels JS bei resize ein location.reload() zu machen führt zur Endlosschleife, vergleichende Fensterparameter merkt sich der Mac auch nicht , da der NS 4 bei resize einen " halbreload " macht ? Kapiert ?
Was tun ?
Viele Grüße aus Ddorf
Knut
Hi Knut,
Vor dem Problem habe ich auch schon mal gesessen....
Das Problem dabei ist, daß der OnResize-Event auch dann ausgelöst wird, wenn Scrollbalken erscheinen - und das ist bei Seiten, die größer als der Bildschirm sind immer der Fall. Also: Wenn Netscape anfängt die Seite zu laden dann ist rechts kein Scrollbalken da, also ist die innere Fensterbreite z.B. 796 Pixel, dann lädt er weiter und stellt fest, daß er Scrollbalken braucht und setzt sie ein und -Überraschung - plötzlich ist das Fenster nur noch z.B. 788 Pixel breit und das heißt, es wurde Resized und der OnResize-Event und der Reload wird ausgelöst... und so weiter und so fort - dadurch die Endlosschleife. Du kannst dem Problem aber mit dem folgenden Script entgehen:
<html>
<head>
<script language="JavaScript">
<!--
var FensterY; // Hoehe des Fensters
var FensterX; // Breite des Fensters
function neuladen()
{
if (document.layers && (outerWidth!=FensterXouterHeight!=FensterY)) /*nur bei Netscape und nur wenn sich die äußere Größe des Fensters geändert hat */
location.reload();
}
function init()
{
if (document.layers)
{
FensterY = window.outerHeight; /* äußere Höhe des Fensters beim laden der Seite */
FensterX = window.outerWidth; /* äußere Breite des Fensters beim laden der Seite*/
}
}
//-->
</script>
<title></title>
</head>
<body onload="init()" onResize="neuladen()">
....
Ich hoffe es klappt
Gruß Leonhard