Mobile Safari: Geräte-Rotation verursacht eine schlechte Skalierung der Website
ich habe eine mobile website für iphone und ipad, wo ich das deaktivieren Benutzer Zoomen mit
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
dies funktioniert gut, solange die Seite im landscape-Modus. die Breite der website ist genau die Breite des Bildschirms.
dann, wenn ich das Gerät drehen in den portrait-Modus es wird nach unten skaliert, so dass es passt in die neue (kürzere) Breite. das ist auch ok.
aber dann, wenn ich drehen Sie Sie zurück in das Querformat-Modus, es ist plötzlich skaliert auf etwa 125%, dass bedeutet, dass horizontale Bildlauf ist nun möglich und das Zoomen ist nicht möglich, da zunächst deaktiviert.
wie kann ich es wieder auf 100% zoom beim drehen zurück in das Querformat?
Dank!
InformationsquelleAutor der Frage clamp | 2011-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Experimentieren Sie mit maximum-scale-und minimum-Skala, wie so
und sehen, ob Sie das erreichen, was Sie suchen..
InformationsquelleAutor der Antwort thumbsup
Deaktivieren der zoom ist eine schlechte Idee. Es ist keine perfekte Lösung, aber targeting-webkit-skalieren der Schriftgröße auf die Ausrichtung ändern Sie können helfen, minimieren das problem. Sie würde aus dem Kopf des Dokuments mit:
<meta name="viewport" content="width=device-width, initial-scale=1">
Dann würde der font-size scaling in der CSS so:
InformationsquelleAutor der Antwort Ronnie Petty
Mithilfe der
maximum-scale
undminimum-scale
zu stoppen, Zoomen nicht wirklich funktionieren, weil du dann nehmen Sie die Fähigkeit des Benutzers, um zu Zoomen. Das ist wirklich eine schlechte Idee, weil es macht Ihre Nutzer mit schlechten Augen wütend, dass Ihre website nicht vergrößern, während andere websites tun...Versuchte ich timeouts und alle Arten von fancy javascript, dann fand ich dies:
https://github.com/scottjehl/iOS-Orientationchange-Fix
über diese Frage im Zusammenhang: Wie setze ich das skalieren/Zoomen von web-app auf eine Orientierung ändern auf dem iPhone?
Auf, die post, Andrew Ashbacher einen link gepostet der code geschrieben von Scott Jehl:
Dass ist eine Lösung, die schön verpackt in einem IIFEso dass Sie nicht haben, um sorgen über die name-space-Themen.
Legen Sie es einfach in Ihrem Skript (nicht in
document.ready()
wenn Sie mit jQuery) und viola!Alle es tut, ist deaktivieren Sie zoom auf
devicemotion
Veranstaltungen, die angeben, dassorientationchange
steht unmittelbar bevor. Es ist die beste Lösung, die ich gesehen habe, weil es tatsächlich funktioniert und nicht deaktivieren zoom.EDIT: dieser Ansatz ist nicht immer zuverlässig, vor allem, wenn Sie halten das ipad in einem Winkel. auch denke ich nicht, dass dieses Ereignis zur Verfügung zu gen 1 ipads
InformationsquelleAutor der Antwort tmsimont