[IE] popup window grootte krijgen

Pagina: 1
Acties:

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
ik zit al tijdje te rommelen met een resize scriptje waarbij ik de grootte van het huidige (popup) window moet krijgen. wat ik dus wil, is na een resizeTo(x,y) de precieze waarde van de x en y terugkrijgen.

ik gebruik hierbij de volgende code, die werkt in opera/mozilla, maar niet in IE

code:
1
2
3
function getWidth() {
    return window.outerWidth;
}


echter bij IE lukt dit niet, ik krijg een undefined error.

nou heb ik ff lopen zoeken, ik kwam uiteindelijk op het volgende:

code:
1
2
3
function getWidth() {
    return document.body.clientWidth+10;
}


dit werkt op mijn eigen winXP+IE6 PC'tje goed, alleen bij andere PC's verschilt de grootte. weet iemand hoe ik de goeie grootte kan krijgen?

het een en ander staat hier

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 19:23

crisp

Devver

Pixelated

Mijn functie om een window precies op grootte te krijgen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function resizewin(w, h) {

  var curw = document.body.clientWidth || window.innerWidth;
  var curh = document.body.clientHeight || window.innerHeight;

  if (!w) w = curw;
  if (!h) h = curh;

  if (curh != h || curw != w) {

    window.resizeTo(w, h);

    // since resizeTo resizes the outer limits, and we don't know the
    // size of the outerlimits, we need to re-adjust for differences
    var curw = document.body.clientWidth || window.innerWidth;
    var curh = document.body.clientHeight || window.innerHeight;
    w += (w - curw);
    h += (h - curh);

    window.resizeTo(w, h);

  }

}

Intentionally left blank


  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 29-04 10:53
als ik dan resizewin(800,600) oproep is ie dan dezelde grootte als resizeTo(800,600) ?

offtopic:
die 2e var curw en curh, dat hoeft toch niet?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 19:23

crisp

Devver

Pixelated

angl2k schreef op 14 februari 2003 @ 23:59:
als ik dan resizewin(800,600) oproep is ie dan dezelde grootte als resizeTo(800,600) ?

offtopic:
die 2e var curw en curh, dat hoeft toch niet?
ja en nee. Het is namelijk nogal browserafhankelijk of resizeTo de buitenmaat aanpast of de binnenmaat, vandaar dat ik na de resize nogmaals de binnenmaat opvraag en eventueel de resizeTo nog een keer toepas om eventuele verschillen te compenseren. Daarna weet je zeker dat de binnenmaat de maat is die je opgegeven hebt :)

Intentionally left blank