[Javascript] Hoe krijg ik de grootte van een window?

Pagina: 1
Acties:

  • R0K13
  • Registratie: Januari 2003
  • Laatst online: 11-11 13:15
Hoi,

Nu weet ik dat je met javascript de grootte kunt opvragen via:

document.body.clientWidth;
document.body.clientHeight;

Alleen dit geeft niet de grootte van het window terug maar alleen van de body! Dus je krijgt afmetingen terug zonder dat daarbij de toolbars en statusbalk bij zijn opgeteld. Ik ben juist
opzoek naar een manier om de werkelijke grootte van een venster te krijgen, dus van de hele
popup inclusief toolbars en statusbalk etc. Het lijkt me toch wel dat het mogelijk moet zijn dit op een of andere manier op te vragen..

Zelfde vraag ook voor het krijgen van de werkelijk top en left positie van het venster. Daarvoor gebruik ik nu:

self.screenLeft;
self.screenTop;

Maar dat geeft hetzelfde probleem. :/

Alvast bedankt..

Roland

  • R0K13
  • Registratie: Januari 2003
  • Laatst online: 11-11 13:15
Ik denk dat het probleem ook voor een deel ligt bij de functie die ik gebruik om het venster te vergrootten:

self.resizeTo(x,y)

kijkt volgens mij juist weer niet naar de body maar naar het hele venster.

  • R0K13
  • Registratie: Januari 2003
  • Laatst online: 11-11 13:15
Ik gebruik nu de volgende code om mijn popup te resizen:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (is_popup) {
                
                if (default_window_width == -1) {
                    default_window_width = document.body.clientWidth + 47;
                    default_window_height = document.body.clientHeight + 47;
                    
                    default_window_x = self.screenLeft - 3;
                    default_window_y = self.screenTop - 29;
                }
                
                var new_window_width = screen.width * 0.6;
                var new_window_height = screen.height * 0.8;
                var new_x_position = (screen.width - new_window_width) / 2;
                var new_y_position = (screen.height - new_window_height) / 2;
                self.moveTo(new_x_position,new_y_position);
                self.resizeTo(new_window_width,new_window_height);
            }


Vervolgens gebruik ik dit om hem weer terug te zetten op de oorspronkelijke waarde:

JavaScript:
1
2
3
4
if (is_popup) {
                self.resizeTo(default_window_width,default_window_height);
                self.moveTo(default_window_x,default_window_y);
            }


Dit werkt perfect alleen wil ik af van die correctie factors -29 +47 etc. Lijkt mij dat die niet altijd goed zijn en dat dit ook verschilt van browser tot browser. Nu met IE getest. Mijn vraag is dus nog steeds hoe krijg ik de werkelijke grootte van een window te pakken. De grootte die ik ook heb opgegeven toen ik het window maakte. Ik heb zo mijn argumenten waarom ik de groottes niet gewoon wil doorgeven.. :P

  • R0K13
  • Registratie: Januari 2003
  • Laatst online: 11-11 13:15
Niemand die een oplossing weet :/ ???

  • André
  • Registratie: Maart 2002
  • Laatst online: 14:48

André

Analytics dude

Hallo rcjkierkels, gelieve de 'edit' knop te gebruiken als je iets nieuws toe te voegen hebt ipv een nieuw bericht te plaatsen. Daarnaast is het kicken van je eigen topic binnen 24 uur niet toegestaan :)

Heb je al wat gezocht op de onderwerpen clientwidth en clientheight? Ik kom dan bijvoorbeeld deze sites tegen:
http://www.quirksmode.org/js/doctypes.html
http://www.quirksmode.org/js/winprop.html

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
/edit

Never mind, ik slaap nog :z Zie de post van André.

[ Voor 86% gewijzigd door XWB op 03-01-2007 12:36 ]

March of the Eagles

Pagina: 1