Deaktivieren Sie den Chrome-Pinch-Zoom für die Verwendung im Kiosk
Wir sind mit Chrome im kiosk-Modus und versehentlich Benutzer sind, dass die Anwendung zoom mit der jüngsten Zusatz von zwei-Finger-zoom-Unterstützung.
Sie denken dann, Sie haben es gebrochen und einfach zu Fuß verlassen Sie die Anwendung (und anschließend ein 55" - touch-screen) in einem Defekten Zustand befindet.
Nun ist die einzige Sache zu arbeiten, wurde das anhalten der ereignisübertragung für touch-Ereignisse, die über 2 Punkte. Themen mit, die wir nicht tun können multitouch-apps-in diesem Fall-und wenn Sie schnell handeln, der browser reagiert vor javascript. Die in unseren tests immer noch passieren, Unfall durch die Nutzer.
Ich getan habe, um die Meta-tags, werden Sie nicht funktionieren. Ehrlich gesagt, ich wünschte, ich könnte das deaktivieren der chrome-Zoomen, aber ich kann nicht finden, eine Möglichkeit, das zu tun.
Wie kann ich verhindern, dass der browser Zoomen?
InformationsquelleAutor der Frage Dennis Smolek | 2014-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir hatten ein ähnliches problem, es manifestiert sich als browser Zoomen aber javascript-Empfang kein touch-event (oder manchmal nur einen einzigen Punkt vor dem Zoomen beginnt).
Wir haben festgestellt, dass diese möglichen (aber vielleicht nicht die langfristige) Lösungen:
1. Deaktivieren Sie die pinch - /swipe-Funktionen bei der Verwendung von kiosk-Modus
Wenn diese Kommandozeilen-Einstellungen bleiben in Chrome, können Sie Folgendes tun:
2. Deaktivieren Sie die pinch-Zoomen Sie über die Chrome-flags chrome://flags/#enable-Prise
Navigieren Sie zu der URL chrome://flags/#enable-pinch in Ihrem browser und deaktivieren Sie die Funktion.
Die pinch-zoom-Funktion ist derzeit noch experimentell ist aber standardmäßig aktiviert, was wahrscheinlich bedeutet, es wird die Kraft aktiviert, die in zukünftigen Versionen. Wenn Sie im kiosk-Modus (und die Ansteuerung der hardware/software), könnten Sie wahrscheinlich schalten Sie diese Einstellung nach der installation und dann verhindern, dass Chrome-updates gehen weiter.
Gibt es schon einen Fahrplan, ticket für das entfernen dieser Einstellung auf Chrom Ausgabe 304869.
Die Tatsache, dass der browser reagiert vor javascript verhindern kann, ist es definitiv ein bug und wurde protokolliert am Chromium bug tracker. Hoffentlich wird es behoben werden, bevor die Funktion dauerhaft aktiviert oder die Finger gekreuzt, lasse Sie es als eine Einstellung.
3. Deaktivieren Sie alle berührt, whitelist für die Elemente und Ereignisse passend zu Ihrer app
In allen tests, die wir durchgeführt haben, hinzufügen preventDefault() auf das Dokument Stoppt der Zoom (und alle anderen swipe/touch-events) in Chrome:
Wenn Sie legen Sie Ihre touch-basierte Funktionen höhere bis in den DOM, er werde aktivieren, bevor Sie die Blasen, um das Dokument die preventDefault () - Aufruf. In Chrome ist es auch wichtig, dass die eventListenerOptions parameter, da wie von Chrom-51, eine Dokument-level-event-listener ist auf
{passiv: true}
standardmäßig.Deaktiviert dies die normalen browser-Funktionen wie wischen, scrollen, obwohl, werden Sie wahrscheinlich haben, um diese selbst. Wenn es ein full-screen, non-scrollable kiosk-app, vielleicht sind diese Funktionen nicht wichtig.
InformationsquelleAutor der Antwort JimmyG
Einfach so jemand stolpern über diese Seite ist bewusst, dass die Flagge in Chrome deaktivieren 'pinch to zoom' ist jetzt:
Google Chrome/Chromium/Canary-version über 50:
chrome://flags/#touch-events
Google Chrome/Chromium/Canary-version weniger als 50 oder alte Versionen:
chrome://flags/#enable-pinch
.InformationsquelleAutor der Antwort James Lott
Ich beschäftige mich mit dem gleichen Problem. Ich denke, ich kann es Recht gut mit dem folgenden Ansatz
document.documentElement.clientWidth
Diese Technik hat den vorteilhaften Nebeneffekt der automatisch die Skalierung der UI, was für die Größe des aktuellen Fensters ist, das ist hilfreich für die Entwicklung, wenn ich die Entwicklung auf einem Bildschirm, der kleiner als der Ziel-Bildschirm.
Mehr auf dem Bildschirm Pixel vs css-Pixel, und eine Diskussion darüber, wie das html-element erweitert, um den verfügbaren Platz auszufüllen bei quirksmode.org.
InformationsquelleAutor der Antwort morgancodes
Ab Version 51.0.2704.84 m, chrome://flags/#touch-Ereignisse deaktiviert alle touch-events nicht nur die pinch-Funktion. FYI. Hoffentlich wird Google die Rückgabe dieser Funktion in zukünftigen Version.
InformationsquelleAutor der Antwort wendecat
https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action
InformationsquelleAutor der Antwort phil