web-dev-qa-db-fra.com

Comment calculer la hauteur de la zone visible (c'est-à-dire la hauteur de la fenêtre moins les barres d'adresse et de favoris) dans Safari pour applications Web?

Quelle est la bonne façon de calculer la quantité d'espace visible disponible sur Safari mobile? Par zone d'affichage, nous entendons la quantité d'écran réellement disponible pour une application Web, c'est-à-dire la hauteur de la fenêtre moins l'adresse et les barres de favoris.

iOS 7 empêche de masquer la barre d’adresses et nous devons prendre en compte correctement la hauteur de la fenêtre.

14
Crashalot

window.innerWidth et window.innerHeight donneront la largeur et la hauteur de la fenêtre.

15
neilco

Je sais que c'est 5 ans après, mais ce problème persiste comme je peux le dire. Ma solution de contournement: Utilisez un élément HTML sur la page qui porte le style CSS: .el{ height:100vh; } et récupérez la hauteur en pixels en Javascript à l'aide de jQuery: $('.el').height();

Si vous n'avez pas d'utilisation pratique pour un tel élément, vous pouvez en créer un à la volée dans le seul but de masquer la fenêtre d'affichage:

var vh = $('<div style="height:100vh"></div>"').appendTo('body').height();
$('body div:last-child').remove();
0
23b