Question

Je suis en train de détecter la rotation de l'écran dans Webkit sur mon Motorola Droid 1. J'ai le code JavaScript suivant:

var supportsOrientationChange = "onorientationchange" in window,
    orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";

window.addEventListener(orientationEvent, function() {
    alert("screen.width: " + screen.width + ", window.orientation: " + window.orientation);
}, false);

Le problème est le suivant: il alerte screen.width 569 lorsque le téléphone est mis en rotation en mode portrait, et 320 quand il est tourné dans le paysage. Cela ne aucun sens pour moi! Quelqu'un peut-il préciser?

Merci, Igor

Était-ce utile?

La solution

Je parie que vous exécutez Android 2.2. Il y a un bug dans le rapport du navigateur de la largeur et de la hauteur. Voir screen.width + android et ne doit pas window.screen.width / correspondent de la hauteur à la largeur réelle de l'écran / hauteur? pour commencer.

Je voudrais avoir quelque chose de mieux à offrir que la solution de contournement de setTimeout() dans ce premier poste, mais cela peut être le meilleur que vous pouvez faire. (J'aimerais tromper à ce sujet, donc si quelqu'un connaît une meilleure solution, s'il vous plaît part!)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top