Question

Je suis en train de déterminer la taille de la fenêtre réelle de la fenêtre du navigateur. J'ai essayé:

  • window.innerHeight / innerWidth
  • document.documentElement.clientHeight / clientWidth
  • document.body.clientHeight / clientWidth

Tous les retour de la taille de la page complète et pas la zone d'affichage.

Ce que je suis en train de réaliser en fin de compte est de forcer un menu contextuel apparaisse à l'écran (dans la fenêtre). En ce moment, quand il apparaît, il peut montrer ci-dessous le défilement et les utilisateurs ne sont pas satisfaits. Je sais que les x, y où ils ont cliqué. Je juste besoin de les comparer à la taille de la zone de visualisation (avec la taille de la fenêtre) pour voir si elle ira hors-champ.

Il convient de noter que la page affiche dans un IFRAME, donc si je dois monter d'un niveau pour obtenir la valeur correcte, je peux le faire.

Était-ce utile?

La solution 3

Apparemment, en allant dans le document parent, j'ai pu obtenir la valeur correcte.

Merci!

Autres conseils

  
      
  • window.innerHeight / innerWidth
  •   

Que sans équivoque fait vous donner la taille viewport (dans ce cas, la taille dans votre iframe), mais il est disponible sur IE.

  
      
  • document.documentElement.clientHeight / clientWidth
  •   

Cela vous donne la taille viewport, lorsque le navigateur est en mode standard. Généralement utilisé comme solution de repli pour IE.

  
      
  • document.body.clientHeight / clientWidth
  •   

Cela vous donne VIEWPORT hauteur le mode Quirks . Vous ne voulez pas être en mode Quirks. Vérifiez la <!DOCTYPE de votre document.

  

Je juste besoin de les comparer à la taille de la zone de visualisation

Ensuite, vous aurez également regarder le document.documentElement.scrollTop / scrollLeft.

Essayez

document.getElementById("").offsetWidth

Remplir le code ci-dessus avec ID élément différent de, essayez d'utiliser la balise body, ou un div wrapper.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top