Deaktivieren Sie die pinch-zoom-in webkit (oder Elektron)
Gibt es eine Möglichkeit zum deaktivieren der pinch-zoom in einem Elektron app?
Ich nicht bekommen kann es arbeiten, die aus dem inneren der web-Ansicht mit normalen javascript-Methoden, wie hier beschrieben: https://stackoverflow.com/a/23510108/665261
Scheint es, die --disable-pinch
flag nicht unterstützt von Elektron.
Habe ich experimentierte mit verschiedene Methoden verwenden:
event.preventDefault()
auf javascripttouchmove/mousemove
Veranstaltungen-
meta viewport
- tags im HTML - -webkit-text-size-adjust
im CSS- flags/config für Elektron
Gibt es eine Methode entweder für webkit-im Allgemeinen, oder Elektron im besonderen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE 2:
Verwenden webFrame.setZoomLevelLimits (v0.31.1+) in render-Prozess (Unterschiede Zwischen Haupt-Prozess-und Renderer-Prozess). Da smart-zoom auf dem mac immer noch die Arbeit mit dem Dokument.addEventListener.
Beispiel
require('electron').webFrame.setZoomLevelLimits(1, 1)
UPDATE:
deltaY
Eigenschaft für pinch-zoom hatfloat
Wert, aber die normalen scroll-Ereignis zurückint
Wert. Nun die Lösung hat kein problem mit der Strg-Taste.Demo 2.
Mit Chrom
monitorEvents(document)
ich gefunden, der ist verantwortlich für dieses Ereignismousewheel
. Ich weiß nicht, warummousewheel
ausgelöst, mit pinch-zoom.Im nächsten Schritt, finden Unterschied zwischen normalen Blättern und pinch-zoom.
Pinch-zoom hat ein Attribut
e.ctrlKey = true
, und die normale scroll-Ereignis hate.ctrlKey = false
. Aber wenn Sie halten Siectrl
- Taste und Blättern Sie eine Seitee.ctrlKey
gleichtrue
.Konnte ich nicht finden eine bessere Lösung. 🙁
Demo
Scheint es sehr schwierig für desktop-browser zu verhindern, pinch-zoom.
Hier sind einige Ideen, aber!
1) mit einigen gesten javascript wie hammer.js, erkennen Prise Ereignis und versuchen zu verhindern, dass es mit e.preventDefault
ODER
2) Design alles, was mit "%" in css, oder verwenden Sie neuere Geräte wie "vm" etc, (wenn möglich). Auf diese Weise, auch wird die Seite gezoomt werden, aber die Inhalte bleiben die gleichen für jede zoom-Stufe.
Alle die besten!!!
Suchte ich so lange und hart für eine einfache Lösung, um dieses problem ohne Erfolg...aber später entdeckte ich ein plugin namens fullpage.js das war in der Lage zu verhindern, pinch-zoom, während immer noch so dass touch-gesten. Durch den Prozess der js/css-Beseitigung, entdeckte ich eine sehr einfache Lösung:
Fügen Sie diese zu meiner vollen Seite element erfolgreich verhindert, pinch-zoom, aber erlaubt mir zu skalieren fabricjs Objekte mit zwicken. Hurra !
Lösung gefunden, durch die Vermischung dieser beiden links:
1 - https://github.com/electron/electron/issues/8793#issuecomment-289791853
2 - https://github.com/electron/electron/blob/master/docs/api/chrome-command-line-switches.md
Gibt es einen Grund, warum Sie nicht verwenden können:
Setzen, dass in der Kopfzeile und es hält die Geräte von Zoom.
meta-tag sollte gearbeitet haben. Versuchen Sie, die minimum-scale=1.0
Und wenn es auch nicht funktioniert, dann fügen Sie die minimale und maximale Skalierung
P. S. : Es deaktiviert das Zoomen auf Handys nur.
Bekam ich die einfachste Lösung für dieses, in der index.html oder eine ähnliche Datei für Ihr Projekt, innerhalb des script-Tags, Elektron und konfigurieren von zoom-Stufe wie folgt
Diese funktioniert einwandfrei auf allen Geräten.
Der viewport meta-tag-Ansatz funktioniert nicht gut auf dem desktop, nur behebt Problem auf mobilen Geräten.