Vinduets dimensioner

*) I Internet Explorer er værdierne af disse tre højdemål anderledes når de udregnes efter at siden er loaded; se her hvad de er nu.

Fælles
document.body.offsetWidth måler vinduets bredde minus den lodrette scrollbar, eventuelle sidepaneler samt evt. margin på <body>. I Mozilla (Firefox) og i Internet Explorer følger document.body.clientWidth og document.body.scrollWidth samme beregning, men i Netscape 7.1 fratrækkes ikke margin på <body> i disse to mål. For begge Gecko browsere gælder at hvis dokumentet ikke er så højt at det fylder hele vinduet ud i højden, forsvinder den lodrette scrollbar; i så fald bliver de tre mål tilsvarende større.

Forudsat at <html> og <body> er blevet tildelt 100% højde i stylesheetet, og siden vises i Standard Mode, måler document.body.offsetHeight vinduets højde minus top- og bundpanelerne, dvs. også minus browservinduets statuslinje i bunden samt styresystemets proceslinje under denne. Derfor, hvis man i Windows vælger at skjule proceslinjen automatisk er denne heller ikke fratrukket i dette mål.

I Mozilla (Firefox) følger document.body.clientHeight og document.body.scrollHeight samme beregning. I Netscape 7.1 gælder dette kun document.body.clientHeight, hvorimod document.body.scrollHeight er inklusiv browservinduets statuslinje. I Internet Explorer er de tre mål i princippet ens (dvs. ligesom Mozilla), men specielt på siden her måler document.body.scrollHeight kun højden af <h3> elementet (dvs. overskriften) svarende til afstanden fra topkanten af vinduets inderside og ned til toppen af tebellen. Jeg går ud fra at det sker fordi udregningen her er lagt i et JavaScript, og et <script> element "fylder" i princippet ikke noget på siden efter Internet Explorers beregning. Alle de fælles mål — bort set fra skærmmålene — ændrer sig når vinduet resizes.

Gecko (Netscape og Mozilla)
window.innerWidth/innerHeight måler vinduets bredde/højde uden menu-, knap-paneler o.l., men inklusiv evt. scrollbar. Derfor, hvis brugeren ikke anvender nogle sidepaneler f.eks., og vinduet er maksimeret, vil innerWidth angive skærmopløsningens breddemål.

window.screenY/screenX måler afstanden fra skærmens top/left position til vinduets ydderste kant. Når det drejer sig om popupvinduer betyder det at de kan placeres helt præcist på skærmen, og der skal i modsætning til IE ikke regnes med højden af eventuelt toppanel.

Yderligere dokumentation findes på Netscapes developer sider, se: http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/window.html

Internet Explorer
Som nævnt under skemaet kan man i IE få højdemålene for hele dokumentet inklusiv dets overflow ved at teste for dem efter load. window.screenTop angiver afstanden fra toppen af skærmen til toppen af vinduets inderside (altså under toppanelerne) og dermed position-y for denne kant. Tilsvarende angiver window.screenLeft afstanden fra skærmens venstre kant og dermed position-x for venstre kant af vinduets inderside i forhold til skærmen. Hvis vinduet er maksimeret er disse værdier identiske med målene på eventuelle top- og sidepaneler i brugerens browser. Med udgangspunkt i screen-y/screen-x koordinaterne kan man derfor placere et popup-vindue i forhold til dokumentets top/left hjørme uanset hvordan vinduet er reziset og hvor det ligger på skærmen. Men bemærk at det er top/left hjørnet af vinduets inderside der placeres. Dette har betydning for popupvinduer med navigationspaneler osv.

Yderligere dokumentation findes på Microsofts egne developer sider, se: http://msdn.microsoft.com/workshop/author/dhtml/reference/properties.asp

Bemærk!
Alle mål oven for er under forudsætning af at dokumentet vises i Standard Mode, dvs. i praksis af at der er anført en korrekt og fuld Doctype erklæring i starten af dokumentet, se http://www.w3.org/QA/2002/04/valid-dtd-list.html. Hvis denne mangler vises dokumentet i Quirks mode, og det betyder at flere af målene i så fald vil være anderledes. Neders på dene side er der et link til at tjekke for Standard eller Quirks mode.

Skærmmål
Selve skærmopløsningen måles med screen.width og sreen.height i begge browsere.