- - Fix Apple Device Safari Viewport Scaling Bug [Slik gjør du det]

Fix Apple Device Safari Viewport Scaling Bug [Slik gjør du det]

Hvis du er en web-designer, er feilen kjent somSynspunktskalering kan ha konfrontert deg som oppstår på Apple-enhetene, dvs. iPod, iPhone og iPad. Noen ganger, når vi roterer Apple-enheten fra portrett til liggende retning, zoomer nettstedet inn, og viser oss en visning med en bredde større enn enhetsbredden. Dette fordi designeren har satt visningsbredden til enhetsbredden. For å hjelpe deg med å få en ide om hvordan denne feilen fungerer, designet vi en eksempelside og roterte iPad-en fra portrett til liggende.

vertikal prøve

liggende prøve - Kopi

En rask løsning for nevnte feil guider oss til å stille inn‘Maksimal skala = 1’ i metataggen for viewport. Dette løser problemet foreløpig, men siden er ikke lenger zoombar fordi vi fikser maksimal bredde som ligner bredden på enheten.

<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1">

Denne hurtigløsningen er ikke akkurat den perfekte løsningen. Gjennom hardt arbeid fra designere som @mathias, @cheeaun og @jdalton, har vi nå et javascript som kan legges til <head> -delen for å få en permanent løsning. Under denne løsningen vil siden forbli zoombar.

<script type="text/javascript">
(function(doc) {
var addEvent = "addEventListener",
type = "gesturestart",
qsa = "querySelectorAll",
scales = [1, 1],
meta = qsa in doc ? doc[qsa]("meta[name=viewport]") : [];
function fix() {
meta.content = "width=device-width,minimum-scale=" + scales[0] + ",maximum-scale=" + scales[1];
doc.removeEventListener(type, fix, true);
}
if ((meta = meta[meta.length - 1]) &amp;&amp; addEvent in doc) {
fix();
scales = [.25, 1.6];
doc[addEvent](type, fix, true);
}
}(document));
</script>

Dette er de eneste kjente løsningene designerne har kommet frem til så langt. Men hvis du har en annen til å fikse denne feilen, kan du dele den med oss ​​i kommentarene.

kommentarer