Bildschirm.width/screen.Höhe nicht aktualisiert nach Bildschirm-rotation
Bei mir tritt dieses problem auf ein iPhone-Gerät (iPhone 7, iOS 10, aber auch andere iPhones zu): in javascript, wenn ich das orientationchange-Ereignis abfangen, innerhalb des hf-Bildschirm.width und screen.Höhe gleich bleiben (wie vor der rotation).
Da dies abhängig von der viewport-Einstellungen, dies ist, wie mein viewport deklariert wird .html-Datei:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=no" />
Alles funktioniert gut in Chrome simulierte Visualisierung.
Dank im Voraus für Eure Hilfe.
- Welchen browser auf dem iPhone, Safari oder Chrome?
- Ich bin mit Safari habe ich es nicht getestet mit Chrome.
- Können wir
jquery
? - überprüfen Sie die Antwort-und lassen Sie mich wissen, wenn Sie Hilfe brauchen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß-Bildschirm die Breite/Höhe wird sich nicht ändern, in der das Gerät nach einer rotation. Um zu überprüfen, ob das Gerät gedreht wird, die Sie Lesen konnten diese Eigenschaften
Leider, dieses Verhalten ist nicht konsistent über alle Android/iOS/Fenster Geräte. Ich denke, es ist ziemlich erklärt diese Abbildung .
window.orientation
werden können 180 auf dem iPad beim halten auf den Kopf.iOS zurück, die Größe des Bildschirms, als ob es im hochformat.
Sie verändert es auf iOS 8 (native Klassen), aber Sie könnten es vergessen haben, es zu tun für Safari, oder vielleicht hielten Sie es auf diese Weise für die Kompatibilität.
Wenn Sie wollen, die wahre Größe basiert auf der Ausrichtung, die Sie verwenden können
window.innerWidth
undwindow.innerHeight
Bekomme ich die gleichen Werte mit oder ohne die viewport-meta-tag
Es funktioniert gut in Chrome simuliert Visualisierung, weil es wieder die screen-Größe des simulierten Visualisierung, wie es sein sollte, aber es nicht simulieren der OS, wo es sein sollte ausführen basierend auf dem Gerät, so dass Sie nicht die gleichen Werte wie auf einem realen Gerät (in diesem Fall, in dem das Reale Gerät nicht wieder gute Werte)
jQuery mobile hat
onOrienntetionChange
Ereignis, Griff, Ausrichtung verändert,und es ist$(window).orientationchange();
Funktion ändern Sie die Ausrichtung manuell.CSS nicht erkennen kann, die Ausrichtung ändern.
Verwenden JavaScript, um die Ausrichtung zu ändern.
Hinzufügen der Funktion als
Dies wird fügen Sie eine
event Handler
zuwindow
zu ändernwidth
vonbody
wenn die Ausrichtung geändert wird.Mehr Verweis auf
orientationchange