Gdy użytkownik loguje się do mojej aplikacji z iPhone'a/iPada, Safari (pomocny) powiększa się, gdy użytkownik wypełnia pola nazwy użytkownika/hasła. Kiedy jednak formularz zostanie przesłany, a my go zalogujemy, nie przeładujemy strony (jest to jedna aplikacja strony), więc zoom nigdy się nie resetuje. Aplikacja jest zawsze uruchamiana w powiększonej skali.Jak mogę zresetować powiększenie po przesłaniu formularza w mobilnym Safari, zachowując jednocześnie skalowalność użytkownika?
Przyjrzałem się Jeremy Keith's solution, która z powodzeniem resetuje zoom, ale także uniemożliwia przyszłe skalowanie/powiększanie przez użytkownika, ponieważ ustawia on maximum-scale
widoku.
Jak to:
var viewportmeta = document.querySelector('meta[name="viewport"]');
if (viewportmeta) {
viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
}
Czy ktoś widział piękny rozwiązanie resetowanie to po przedłożeniu formularza, bez zamarznięcie rzutnię potem?
W iOS 9 miałem również dodać 'skurczyć do montażu = no' - [źródło] (http://www.wmyl.se/en/blog/safari-ios-9 -causing-issues-responsive-sites /) –
Wygląda na to, że przestało działać w iOS 10. Byłoby zainteresowane poprawką. – Magnar
Dzięki; to było bardzo pomocne. Zaproponuję ulepszenie kilku linii: 'var viewportContentOrig = viewportmeta.getAttribute ('content'); viewportmeta.setAttribute ("zawartość", "szerokość = szerokość urządzenia, minimalna skala = 1,0, maksymalna skala = 1,0, początkowa skala = 1,0"); viewportmeta.setAttribute ("content", viewportContentOrig); ' – Ryan