Google Chrome – désactiver le zoom par pincement

J’ai un kiosque dans la place publique de la gare et à l’aéroport.

Des personnes aléatoires doivent utiliser l’application à écran tactile qui s’exécute sur Google Chrome. Lorsque l’utilisateur applique une action de pincement ou de pincement sur Google Chrome, Google Chrome crée un zoom anormal dans l’écran et laisse l’écran zoomé pour toujours, puis j’obtiens un appel indiquant que mon application ne fonctionne pas.

entrez la description de l'image ici

Utilisation de chrome://flags/#enable-pinch dans les versions antérieures de Google Chrome a été capable de supprimer les opérations de pincement. Désormais, dans la nouvelle version, cette fonctionnalité a également été supprimée. Aucune de ces options ne fonctionne plus comme auparavant: // flags / # enable-pinch`

chrome://flags/#touch-events – si je le désactive, cela désactive les entrées tactiles complètes sur Google Chrome.

– si j’applique cela, cela n’a pas d’effet sur Google Chrome, des attaques par pincement ou un pincement surviennent

Par conséquent, j’ai continué d’essayer tous les autres moyens possibles pour le résoudre

entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici entrez la description de l'image ici

Je tire tous mes cheveux parce que toutes les options échouent.

Quelqu’un peut-il s’il vous plaît conseiller comment le résoudre? Comment puis-je absolument désactiver le pincement / déconnexion sur Google Chrome ou sur tout le système d’exploitation? J’ai également essayé le panneau de configuration, mais aucun des panneaux du panneau de configuration n’indique une option dans laquelle il est indiqué de désactiver les attaques par pincement / désincarcération.

 // Dear God, please give me a Pinch disable option for, Google chrome. Its a nightmare, nothing stops pinch zoom actions. window.addEventListener("touchstart", touchHandler, false); function touchHandler(event){ if(event.touches.length > 1){ console.log("pinch "); // detected window.location.reload();// detected try { event.preventDefault(); // FAIL FAIL FAIL FAILLLLLLLL ??????????? return false; }catch(eee) { } } else { console.log("pinch not");//detected } } 

RÉPONSE: 2018

J’ai essayé de résoudre le même problème avec une application de kiosque. J’ai essayé les méta-tags et les événements tactiles, mais rien du côté de l’application ne fonctionnerait pour moi.

En fin de compte, la solution que j’ai trouvée consistait à désactiver le pincement de la ligne de commande lors du démarrage de Chrome en mode kiosque.

Voici un exemple:

 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --start-fullscreen --kiosk --disable-pinch http://127.0.0.1:1000 

Je suppose que je suis un peu en retard pour vous, mais pour les prochaines personnes qui le trouvent via google, la solution est en fait assez simple, en utilisant simplement du CSS pur.

La propriété que vous recherchez est touch-action et comme expliqué par MDN:

La propriété CSS à action tactile spécifie si, et de quelle manière, une région donnée peut être manipulée par l’utilisateur via un écran tactile (par exemple, en effectuant un panoramique ou un zoom sur les fonctionnalités intégrées dans le navigateur).

L’extrait de code suivant placé dans votre code CSS une solution de base pour désactiver tous les pincements pour zoomer.

 body { touch-action: none; } 

Il existe d’autres options telles que pan-x , pan-left , pan-right , pan-y , pan-up , pan-down , pinch-zoom .

Consultez l’intégralité de la documentation docs @ https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action