Scooter: offsetWidth & offsetHeight / clientWidth & clientHeight

Beitrag lesen

Hi,

Frage:
Bin ich mit scrollLeft & scrollTop auch noch bei den neuen IE-Versionen "up to date" ?

Ja. Geht auch im IE 6. Wieso auch nicht!

body.clientWidth & body.clientHeight entspricht

window.innerWidth
window.innerHeight

im alten Netscape sowie im aktuellen Netscape / Mozilla ! OK.

Auch neuere Browser kennen document.body.clientWidth. Es ist insofern besser, als das es die Breite OHNE die Breite der Scrollbar ist.

Frage:
Zu "clientWidth & clientHeight" erhalte ich in SelfHtml V8 leider keine Treffer. Gibts dafür einen Grund ?

SelfHTML ist etwas veraltet, meiner Meinung nach. Das was da bezgl. JavaScript und DOM steht ist meiner Einschätzung nach nur ca. ein Drittel von dem was es wirklich alles gibt.

Bin ich mit body.clientWidth & body.clientHeight auch noch bei den neuen IE-Versionen "up to date" ?
Wie verhält es sich da mit Opera ?

Na klaro! Opera 6 und 7 kennen es auch. Opera 5 nicht. Aber Opera speichert in window.innerWidth im gegensatz zu netscape und Mozilla  die Breite OHNE Scrollbarbreite.

Mit

offsetWidth
offsetHeight

habe ich bisher im IE die Breite / Höhe eines DIV-Bereiches ermittelt. Das funktioniert merkwürdigerweise auch im Netscape 6, obwohl das lt. Nachschlagewerk XYZ nicht sein kann.

Wieso merkwürdigerweise? Und was fürn Nachschlagewerk XYZ??? Ja, es funktioniert. Es gibt dort auch gar keine andere Möglichkeiten.

offsetWidth, clientWidth und scrollHeight kennen die meisten Browser (Netscape 6+, Opera 6+, IE 4+, und ich glaube sogar Konqueror). Es ist zwar kein richtiger Standard, aber irgendwie so ein quasi standard.

Was ist hier das Richtige, um in allen aktuellen Browsern "up to date" zu sein ?

offsetWidth, clientWidth, scrollWidth

scrollWidth entspricht übrigend document.width in Netscape 4. also die tatsächliche Breite eines Elementes INKL. nicht sichtbaren Teil (da weg gescrollt)

unterschied zwischen offsetWidth und clientWidth:
http://msdn.microsoft.com/workshop/samples/author/dhtml/refs/offsetWidth.htm

PS.
Ich war jahrelang Weltmeister im "abwärtskompatibel programmieren". Es rächt sich grausam !
Ich kenn mich nicht mehr aus.

Irgendwie macht Crossbrowser-Programmieren voll Spaß!

Noch was zu IE 6:
Jenachdem was für einen Doctype du hast, so speichert IE 6 den Wert für die innere Breite entweder in document.body.clientWidth oder document.documentElement.clientWidh!

Gute Nacht,
Scooter