Przy użyciu kodu z this question skonfigurowałem kod do wykrywania, kiedy urządzenie z Androidem jest obracane. Działa świetnie dla tabletu asus (4.0.3) i dwóch symulatorów (4.0.3 i 2.1), ale dla ognia rozpałkowego (2.3.4) i droidx (2.3.4) przełącza szerokość i wysokość.Wykryj orientację za pomocą javascript na urządzeniach z Androidem
Kod:
<script type="text/javascript">
var supportsOrientationChange = "onorientationchange" in window,orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
alert("The rotation is " + window.orientation + " and the resolution is " + screen.width + " x " + screen.height);
modRule();
}, false);
</script>
Wyjście z asus tabletki
Trzymając go w co wygląda jak krajobraz:
Obrót wynosi 0, a rozdzielczość wynosi 1280 x 800
Portret
obroty silnika -90 rozdzielczość 800 x 1280
Wyjście z Kindle ognia
krajobrazu
obroty silnika 90, rozdzielczość wynosi 600 x 819
Portret:
Obrót jest 0 i rozdzielczości 1024 x 395
wyjściowy DroidX
pozioma:
obroty silnika 90, rozdzielczość wynosi 320x488
Portret:
Obrót wynosi 0, a rozdzielczość to 569x239
Czy istnieje sposób mogę
a) dokonania javascript wykryć, czy należy go używać wysokość zamiast szerokości lub szerokości zamiast wysokości
LUB
b) Czy urządzenia zgłaszają prawidłowe wartości ich szerokości i wysokości?