Maison > interface Web > js tutoriel > le corps du texte

Comment détecter de manière fiable la rotation d'un téléphone Android dans les navigateurs à l'aide de JavaScript ?

Mary-Kate Olsen
Libérer: 2024-10-26 08:30:30
original
828 Les gens l'ont consulté

How Can You Reliably Detect Android Phone Rotation in Browsers Using JavaScript?

Détection de la rotation des téléphones Android dans les navigateurs à l'aide de JavaScript

Bien que la détection de l'orientation de l'écran et des modifications dans Safari sur les iPhones à l'aide de JavaScript soit possible, est-ce également réalisable sur les téléphones Android ?

Détection de rotation réactive sur Android

Dans les téléphones Android, la détection de rotation à l'aide de JavaScript est une question complexe en raison des comportements variables selon les appareils et les navigateurs. Se fier uniquement aux événements de redimensionnement ou de changement d'orientation n'est pas fiable.

Approche fiable

L'approche recommandée implique de surveiller à la fois les événements de redimensionnement et de changement d'orientation, en vérifiant systématiquement les mises à jour d'orientation à travers des intervalles d'interrogation. .

<code class="javascript">var previousOrientation = window.orientation;
var checkOrientation = function(){
    if(window.orientation !== previousOrientation){
        previousOrientation = window.orientation;
        // orientation changed, do your magic here
    }
};

window.addEventListener("resize", checkOrientation, false);
window.addEventListener("orientationchange", checkOrientation, false);

// (optional) Android doesn't always fire orientationChange on 180 degree turns
setInterval(checkOrientation, 2000);</code>
Copier après la connexion

Comportement spécifique à l'appareil

Les réponses de l'appareil aux changements d'orientation varient considérablement. Voici un tableau du séquencement des événements et des valeurs obtenues en testant quatre appareils différents :

Device Events Fired orientation innerWidth screen.width
iPad 2 (to landscape) resize, orientationchange 0 1024 768
iPad 2 (to portrait) resize, orientationchange 90 768 768
iPhone 4 (to landscape) resize, orientationchange 0 480 320
iPhone 4 (to portrait) resize, orientationchange 90 320 320
Droid phone (to landscape) orientationchange, resize 90 320 320
Droid phone (to portrait) resize, orientationchange, resize 0 569 569
Samsung Galaxy Tablet (to landscape) orientationchange, orientationchange, resize 0 400 400
Samsung Galaxy Tablet (to portrait) orientationchange, orientationchange, orientationchange, resize 90 683 683

Conclusion

Bien que la gestion des événements pour les changements d'orientation puisse différer entre les appareils iOS et Android, l'utilisation de l'approche recommandée garantit une détection fiable de l'orientation sur les téléphones Android à l'aide de JavaScript.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!