offsetWidth & offsetHeight / clientWidth & clientHeight
Gunnar
- javascript
Hallo.
Möchte mich bei Thomas und Christian für die kurzen klaren Antworten vom Vortag bezüglich scrollLeft & scrollTop bedanken - muss aber trozdem leider nochmal nachlegen.
-----
scrollLeft & scrollTop entspricht
window.pageXOffset
window.pageYOffset
im alten Netscape sowie im aktuellen Netscape / Mozilla / Opera Browser ! OK.
Frage:
Bin ich mit scrollLeft & scrollTop auch noch bei den neuen IE-Versionen "up to date" ?
-----
body.clientWidth & body.clientHeight entspricht
window.innerWidth
window.innerHeight
im alten Netscape sowie im aktuellen Netscape / Mozilla ! OK.
Frage:
Zu "clientWidth & clientHeight" erhalte ich in SelfHtml V8 leider keine Treffer. Gibts dafür einen Grund ?
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 ?
-----
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.
Was ist hier das Richtige, um in allen aktuellen Browsern "up to date" zu sein ?
PS.
Ich war jahrelang Weltmeister im "abwärtskompatibel programmieren". Es rächt sich grausam !
Ich kenn mich nicht mehr aus.
Gute Nacht && Gruss Gunnar
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.innerHeightim 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
offsetHeighthabe 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
Donnerwetter, was für eine Antwort um diese Uhrzeit .... tausend Dank !
Noch zu offsetWidth / offsetHeight:
Habe z.B. hier nachgeschaut:
http://selfhtml.teamone.de/javascript/objekte/all.htm#offset_width
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!
Ich habe diesen Doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Was muss ich jetzt richtig machen, damit ich nichts falsch mache ?
Ach, ich geh einfach ins Bett jetzt, wenigstens da ist alles wie immer ... ;-)
Wie gesagt, tausend Dank für die tolle und schnelle Antwort
Gruss Gunnar
Donnerwetter, was für eine Antwort um diese Uhrzeit .... tausend Dank !
Noch zu offsetWidth / offsetHeight:
Habe z.B. hier nachgeschaut:
http://selfhtml.teamone.de/javascript/objekte/all.htm#offset_width
- offsetWidth / offsetHeight sind demnach IE-spezifisch
sie waren es. 1997 als nur der IE 4 es unterstützte. Diese Eigenschaften erwiesen sich als gut, und um nicht noch mehr Verwirrung zu machen, haben alle Browser die ich kenne diese Eigenschaften, ähnlich wie einige andere damals IE-spezifischen Sachen übernommen. Wie gesagt, es scheint ein Quasi-Standard inzwischen zu sein.
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!Ich habe diesen Doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Was muss ich jetzt richtig machen, damit ich nichts falsch mache ?
document.body.clientWidth
Bei XHTML oder Strict musst du document.documentElement.clientWidth nehmen.
Ach, ich geh einfach ins Bett jetzt, wenigstens da ist alles wie immer ... ;-)
Genau ich jetzt auch!
Wie gesagt, tausend Dank für die tolle und schnelle Antwort
NP!
Scooter
Hallo,
Frage:
Zu "clientWidth & clientHeight" erhalte ich in SelfHtml V8 leider keine Treffer. Gibts dafür einen Grund ?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 ?
Unter http://www.styleassistant.de/tips/screen.htm sind die wichtigsten Fenster-Eigenschaften zum Testen versammelt.
MfG, Thomas