Überwachen der Browserfenstergröße
JPS
0 Stefan Muenz0 Christine Kuehnel0 JPS
Moin!
Ich versuche gerade eine Möglichkeit zu finden, wie man mit JavaScript feststellen kann, ob die Größe des Browserfensters geändert wurde.
Für den Internet Explorer funktioniert es mit Hilfe des "all"-Objekts.
Aber wie sieht es mit Netscape aus?
Oder gibt es sogar eine Möglichkeit dies für beide/mehrere/alle Browser zu realisieren?
Für Hilfe bedanke ich mich!
Hallo,
Ich versuche gerade eine Möglichkeit zu finden, wie man mit JavaScript feststellen kann, ob die Größe des Browserfensters geändert wurde.
Es gibt einen Event-Handler dafuer: onResize.
Der funktioniert bei Netscape allerdings nicht innerhalb von HTML-Tags, sondern nur in Verbindung mit dem Event-Objekt in JavaScript.
Schema:
<head>
<script language="JavaScript1.2">
function TuWas(Ereignis)
{
/* Hier Anweisungen notieren fuer den Fall resizeWindow
}
window.onresize = TuWas;
</script>
</head>
viele Gruesse
Stefan Muenz
Ich versuche gerade eine Möglichkeit zu finden, wie man mit JavaScript feststellen kann, ob die Größe des Browserfensters geändert wurde.
Es gibt einen Event-Handler dafuer: onResize.
Der funktioniert bei Netscape allerdings nicht innerhalb von HTML-Tags, sondern nur in Verbindung mit dem Event-Objekt in JavaScript.
Der hat nur einen Haken:
Resize-Ereignis tritt z.B. auch dann ein, wenn Scrollbars verlaengert werden (beim Laden einer Seite). Das Fenster selbst muss sich deswegen nicht aendern.
Ist eine bekannte unangenehme oder ungeschickt geloeste Geschichte im Navi.
Christine
Der hat nur einen Haken:
Resize-Ereignis tritt z.B. auch dann ein, wenn Scrollbars verlaengert werden (beim Laden einer Seite). Das Fenster selbst muss sich deswegen nicht aendern.
Ist eine bekannte unangenehme oder ungeschickt geloeste Geschichte im Navi.Christine
Ist aber nicht so tragisch. Habe das mal ausprobiert.
Indem man nach einem resize die Fensterhöhe und -breite mit der alten vergleicht, umgeht man dies ganz leicht - obwohl das wirklich etwas umständlich ist.
Würde dann so aussehen:
h = window.innerHeight;
b = window.innerWidth;
window.captureEvents(Event.resize);
window.onResize = Ausgabe;
function Ausgabe(Ereignis) {
if(h != window.innerHeight || b != window.innerWidth) {
alert("Größe wurde geändert");
h = window.innerHeight
b = window.innerWidth
window.captureEvents(Event.resize);
window.onResize = Ausgabe;
}
}
}
So tritt die Meldung max. 1 mal pro resize auf!
P.S.: Danke für die Hilfe! Hatte das Problem gar nicht erkannt...