Heim > Artikel > Web-Frontend > Wie kann ich mit JavaScript die Geräterotation in einem Browser auf Android zuverlässig erkennen?
Kompatibilitätsprobleme bei der Rotationserkennung
Geräterotation mit JavaScript erkennen in Der Browser kann auf Android-Telefonen eine größere Herausforderung darstellen als auf iPhones, die über einen klar definierten Ansatz verfügen. Das Verhalten auf Android-Geräten kann inkonsistent sein, mit Variationen in der Reihenfolge und Häufigkeit von Ereignissen und Änderungen in Werten wie screen.width und window.orientation.
Zuverlässiger Ansatz für die Rotationserkennung
Um diese Inkonsistenzen zu beheben, wird empfohlen, sowohl die Größenänderungs- als auch die Ausrichtungsänderungsereignisse abzuhören und als Sicherheitsmaßnahme Abfragen zu implementieren. Durch diese Vorgehensweise wird sichergestellt, dass Sie letztendlich einen gültigen Orientierungswert erhalten.
<code class="js">var previousOrientation = window.orientation; var checkOrientation = function(){ if(window.orientation !== previousOrientation){ previousOrientation = window.orientation; // Handle orientation change as needed } }; window.addEventListener("resize", checkOrientation, false); window.addEventListener("orientationchange", checkOrientation, false); // (Optional) Poll for orientation changes on Android (180 degree turns) setInterval(checkOrientation, 2000);</code>
Ereignisabfolgen und Wertänderungen
Die Abfolge von Ereignissen und die Wertänderungen variieren von Land zu Land Geräte. Hier ist eine Tabelle, die die Ergebnisse verschiedener Geräte zusammenfasst:
Device | Events Fired (to Landscape) | orientation | innerWidth | screen.width |
---|---|---|---|---|
iPad 2 | resize, orientationchange | 90 | 1024 | 768 |
iPhone 4 | resize, orientationchange | 90 | 480 | 320 |
Droid phone | orientationchange, resize | 90 | 320 | 569 |
Samsung Galaxy Tablet | orientationchange, orientationchange, orientationchange, resize, orientationchange | 90, 90, 90 | 400 | 683 |
Zusätzliche Überlegungen
Dieser Ansatz stellt zwar eine zuverlässige Möglichkeit zur Erkennung der Geräterotation dar, es ist jedoch wichtig, ihn beizubehalten Beachten Sie in diesem Zusammenhang die Einschränkungen von JavaScript. Beispielsweise ändern sich bestimmte Werte wie „screen.width“ möglicherweise nicht immer wie erwartet. Es wird außerdem empfohlen, sich nicht ausschließlich auf screen.width zu verlassen, da dieses auf allen iOS-Geräten inkonsistent ist.
Das obige ist der detaillierte Inhalt vonWie kann ich mit JavaScript die Geräterotation in einem Browser auf Android zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!