Application Webkit iPhone: Comment modifier dynamiquement le zoom d'utilisateur (ou échelle, Pich & Zoom) dans la fenêtre?

StackOverflow https://stackoverflow.com/questions/2691340

Question

J'utilise JQTouch pour une application iPhone. JQTouch Désactivez par défaut la possibilité de pincer et de zoomer la page. Pour une page (contenant une grande image), je dois activer la fonction Pinch & Zoom. C'est facile :

var viewport = $("head meta[name=viewport]");
viewport.attr('content', 'width=320, initial-scale=1, maximum-scale=10.0, minimum-scale=1, user-scalable=1');

Mais une fois que l'utilisateur a joué avec le Pinch & Zoom, je dois réinitialiser dynamiquement le zoom (échelle) par défaut. J'ai essayé de réinitialiser la fenêtre:

viewport.attr('content', 'width=320, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;');

Après avoir appelé le code ci-dessus, il n'est plus possible de zoomer (en raison de l'utilisateur-échelle = 0;), mais il ne change pas l'échelle actuelle par défaut.

Je recherche quelque chose comme SetScale (1), ou pour modifier un attribut comme Current-Scale = 1

Une idée ?

Était-ce utile?

La solution

La seule façon de réinitialiser la mise à l'échelle de l'utilisateur est de recharger la page:

window.location.reload();

Si vous ne voulez pas le faire, vous devrez ajouter un script pour zoomer dynamiquement des éléments tels que des images avec des événements tactiles. Voici un exemple de pincement et de zoom avec défilement:

http://tlrobinson.net/projects/iphone-light-table/

Il est facile d'intégrer ce code dans votre projet. Ouvrez simplement la source HTML, copiez le JavaScript et modifiez la fonction init () concernant vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top