35.
CSS-Verlust unter Netscape 4.x (Resize-Bug) vermeiden (14.09.2000)
Netscape 4.x ist bekanntlich das Sorgenkind der Web-Autor/inn/en. Besonders lästig ist seine
Angewohnheit, beim Verändern der Browserfenstergröße schlagartig jegliche CSS-Definitionen
zu verlieren. Dann fehlen Farben oder positionierte Elemente befinden sich links oben im aktuellen Fenster ...
Doch dagegen ist ein Kraut gewachsen. Man fragt beim Laden des Dokuments die Fensterbreite und -höhe ab
und speichert diese Angaben. Beim Verändern der Fenstermaße kann über das OnResize-Event eine Funktion
aufgerufen werden, die einen Reload des Dokuments nebst CSS auslöst. Das kann zuweilen etwas unruhig wirken,
aber besser als der CSS-Totalverlust ist es allemal.
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
if (document.layers)
{
var startbreite = window.innerWidth;
var starthoehe = window.innerHeight;
// Alternative, wenn das Attribut OnResize
// nicht verwendet werden soll (keine Klammern!):
// window.onresize = StylesLost;
}
function StylesLost()
{
if (document.layers && window.innerWidth != startbreite
|| window.innerHeight != starthoehe)
{
location.reload();
}
}
//-->
</SCRIPT>
Aufruf im BODY: <BODY OnResize="StylesLost()">
oder mit window.onresize=StylesLost; (siehe Code)
Beispiel 35 ist eine DHTML-Anwendung, die einen DIV-Container in der Fenstermitte positioniert und wurde für den Einsatz
unter MSIE 4+ und Netscape 4.x bzw. 6 entwickelt. Speziell zur Behandlung der genannten Probleme unter Netscape 4.x kommt die Funktion
StylesLost() zum Einsatz.
|