Maison > Article > développement back-end > À propos de innerWidth et innerHeight de JavaScript
Attributs innerWidth et innerHeight
Description : L'attribut en lecture seule de l'objet window déclare la hauteur et la largeur de la zone d'affichage du document de la fenêtre, mesurées en pixels (px). (Remarque : la largeur et la hauteur ici n'incluent pas la hauteur de la barre de menu, de la barre d'outils, de la barre de défilement, etc.)
Ce qui suit vérifiera ces deux propriétés :
La résolution de l'écran est : 1920x1080 Navigateur : Navigateur QQ (le noyau est Chrome) Le code est le suivant :
var width=window.innerWidth,height=window.innerHeight; //分别定义width和height接收窗口的高和宽 alert(width); //窗口的宽度 1920px alert(height); //窗口的高度 950px
innerWidth Parce qu'il n'y a aucune obstruction des deux côtés du navigateur, la largeur de l'écran est parfaitement obtenu 1920, et innerHeight a été réduit de 130px car le navigateur a une barre d'outils et l'écran a une barre des tâches
Cette fois, le blogueur a supprimé la barre des tâches (en fait cachée) et la barre d'outils à tour de rôle. . Tabulez et appuyez sur F12 plus les options du développeur pour tester à nouveau :
/*————————干掉任务栏后————————*/ var width=window.innerWidth,height=window.innerHeight; alert(width); //宽度没有变化,还是1920px alert(height); //而窗口的高度990px,表明任务栏占40px(任务栏的默认高度) 导致没有获取到全部高度 /*————————又干掉标签页后,并加上开发者选项后————————*/ var width=window.innerWidth,height=window.innerHeight; alert(width); //1381px,说明浏览器开发者选项,对innerWidth有影响 1920-1381=549px alert(height); //而窗口的高度979px,任务栏占40px,标签页占了11px(990-979) 而由此得出剩下的工具栏占了1080-979=101px
Conclusion : Cela signifie que innerHeight et innerWidth ne comptent que les pixels de la fenêtre d'affichage, s'il n'y en a pas. menu Si des facteurs externes tels que des barres et des barres d'outils le pressent, il s'étendra automatiquement. S'il y en a, appuyez simplement sur la fenêtre d'affichage
Après avoir testé les facteurs externes, testons la barre de défilement des facteurs internes
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试innerHeight属性</title> </head> <body> <p style="width:500px;height:1300px;background-color:red;"></p> <script>= width=window.innerWidth,height= alert(height); </script> </body> </html>
Conclusion : Cela montre que la barre de défilement interne n'a aucun effet sur innerWidth Même si elle existe, elle n'a aucun effet sur la largeur. Elle fait toujours 1920px
. Conclusion finale : innerHeight et innerWidth obtiennent la hauteur et la largeur du formulaire. Les facteurs externes tels que (options du développeur du navigateur, favoris) auront un impact sur celui-ci, tandis que les facteurs internes (barres de défilement) n'auront aucun impact dessus
Parlons d'IE, qui a le plus de défauts. Le problème de la compatibilité d'IE peut être résolu de cette manière
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!