Maison >interface Web >tutoriel CSS >Comment puis-je déterminer avec précision la largeur de l'appareil en JavaScript ?
Introduction :
L'accès à la largeur de l'appareil est crucial pour une conception Web réactive, en particulier lorsque vous ciblez un écran spécifique. tailles. Alors que les requêtes multimédias CSS fournissent la propriété max-device-width pour répondre à ce besoin, JavaScript ne dispose pas d'une méthode directe similaire pour récupérer la largeur intrinsèque de l'appareil.
Largeur du périphérique par rapport à la largeur de la fenêtre :
Le défi réside dans la distinction entre la largeur de l'appareil et la largeur de la fenêtre d'affichage. Le premier fait référence à la taille physique de l'écran, tandis que le second représente la partie visible dans la fenêtre du navigateur, qui peut différer en raison du redimensionnement ou du zoom.
Limitations de la largeur de la fenêtre :
Le recours à la largeur de la fenêtre d'affichage en JavaScript peut entraîner des inefficacités. Prenons l'exemple fourni dans la requête, où une condition supplémentaire est requise pour différencier les orientations paysage et portrait sur les smartphones iOS. C'est là que la possibilité d'accéder directement à la largeur de l'appareil devient précieuse.
Solution : propriété screen.width
La solution réside dans la propriété screen.width, qui permet d'accéder à la la largeur physique de l'écran de l'appareil. Cette propriété est largement prise en charge sur différents navigateurs et appareils.
Considérations de compatibilité :
Cependant, il convient de noter que sur certains navigateurs de bureau, la propriété screen.width peut ne pas toujours refléter la la taille réelle de l'écran de l'appareil. Pour résoudre ce problème, une approche hybride est utilisée, comme le démontre l'extrait suivant :
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
Cet extrait utilise window.innerWidth s'il est disponible, ce qui est généralement le cas pour les appareils mobiles, et revient à l'écran. width si elle n’est pas prise en charge. Cela garantit la compatibilité sur une large gamme d'appareils et de navigateurs.
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!