Domanda

Sto cercando di rilevare la rotazione dello schermo in Webkit sul mio Motorola Droid 1. Ho il seguente codice JavaScript:

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

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

Il problema è: avvisi screen.width 569 quando il telefono viene ruotato in verticale, e 320 quando viene ruotato in orizzontale. Questo non ha alcun senso per me! Qualcuno può chiarire?

Grazie, Igor

È stato utile?

Soluzione

Scommetto che esegue Android 2.2. C'è un bug nel reporting del browser di larghezza e altezza. Vedere screen.width + android e non dovrebbero window.screen.width / altezza corrispondono alla larghezza dello schermo attuale / altezza? per cominciare.

Mi piacerebbe avere qualcosa di meglio da offrire che la soluzione setTimeout() in quel primo post, ma che può essere la migliore che si può fare. (Mi piacerebbe essere sbagliato su questo, quindi se qualcuno conosce una soluzione migliore, si prega di condividere!)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top