2011-05-17 6 views

Répondre

4

Pour déterminer la taille réelle (en utilisant javascript) de la fenêtre du navigateur, en utilisant les propriétés suivantes:

dans Internet Explorer (mode compatibilité ascendante):

document.body.offsetWidth, document.body.offsetHeight 

dans Internet Explorer (mode standard , document.compatMode == 'CSS1Compat'):

document.documentElement.offsetWidth, document.documentElement.offsetHeight 

dans la plupart des autres navigateurs:

window.innerWidth, window.innerHeight 
The following code sets the variables winW and winH to the actual width and height of the browser window, and outputs the width and height values. If the user has a very old browser, then winW and winH are set to 630 and 460, respectively. 

var winW = 630, winH = 460; 
if (document.body && document.body.offsetWidth) { 
winW = document.body.offsetWidth; 
winH = document.body.offsetHeight; 
} 
if (document.compatMode=='CSS1Compat' && 
    document.documentElement && 
    document.documentElement.offsetWidth) { 
winW = document.documentElement.offsetWidth; 
winH = document.documentElement.offsetHeight; 
} 
if (window.innerWidth && window.innerHeight) { 
winW = window.innerWidth; 
winH = window.innerHeight; 
} 

document.writeln('Window width = '+winW); 
document.writeln('Window height = '+winH); 

Dans votre navigateur, ce code produit la sortie suivante:

Window width = 1280 
Window height = 675 

Notes:

  1. Si le code ci-dessus est exécuté dans un cadre ou iframe, il vous donnera la largeur du cadre et la taille.
  2. La largeur et la hauteur calculées n'incluent pas la barre de titre, la barre de menus, la barre d'état ou la barre d'outils, mais peuvent inclure les barres de défilement horizontal et vertical, le cas échéant.
  3. Le code qui utilise document.body.offsetWidth et offsetHeight doit être exécuté après que le navigateur a analysé le tag.
  4. Si l'utilisateur redimensionne la fenêtre du navigateur, vous devrez peut-être recalculer la largeur et la hauteur (utilisez window.onresize pour cela). De même, si l'utilisateur zoome (ou effectue un zoom arrière), vous devrez peut-être recalculer la largeur et la hauteur.