2017-08-25 2 views
1

J'ai un problème avec le zoom. Je veux bloquer le zoom sur les safaris mobiles sur les éléments HTML. J'utilise le script pour éviter le comportement par défaut du navigateur et il fonctionne bien pour le pincement normal, mais quand je commence à défiler avec un doigt et plus tard ajouter et pincer safari stil zoomer la page ...iOS Safari - désactiver le pincement pour zoomer l'option

Quelqu'un at-il une idée de comment peut Je bloque ce zoom?

Je suis en train de créer un jeu mobile en utilisant du canvas et d'utiliser le HTML pour les fenêtres de message, donc n'écrivez pas que c'est une mauvaise idée de bloquer le zoom pour des raisons d'accessibilité.

Code pour éviter zooming:

document.addEventListener("touchmove", function(event) { 
    event = event.originalEvent || event; 

    if(event.touches.length > 1 || event.scale > 1) { 
    event.preventDefault(); 
    } 
}, false); 

MISE À JOUR:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 

Cette balise meta ne fonctionne pas parce que la pomme désactiver dans Safari mobile depuis iOS 10 jusqu'à des raisons d'accessibilité

+0

Avez-vous des choses comme 'user-scalable = no' dans votre commande meta viewport? –

+0

Apple désactiver utilisateur-évolutive = non dans iOS 10 pour des raisons d'accessibilité –

+0

Je ne savais pas. Pardon. Mais merci de mentionner cela. –

Répondre

0

pouvez-vous le tester?

document.documentElement.addEventListener('touchmove', function (event) { 
    event.preventDefault(); 
}, false); 
+0

pouvez-vous le tester? document.documentElement.addEventListener ('touchmove', fonction (événement) { event.preventDefault(); }, false); –

+0

ce code fonctionne mais bloque aussi le défilement du tout, dans mes fenêtres de message j'ai parfois du contenu défilant donc cette solution n'est pas bonne pour moi –