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.
window.innerWidth
et window.innerHeight
donneront la largeur et la hauteur de la fenêtre.
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();