Durch Wischen vom linken und rechten Rand des Safari-Browsers meines iPad wird zwischen den aktuell geöffneten Webseiten gewechselt. Gibt es eine Möglichkeit, dies zu verhindern?
Ich habe versucht, am Rand der Seite touchstart
- und touchmove
-Handler hinzuzufügen, nämlich stopPropagation
und preventDefault
, aber sie scheinen keine Wirkung zu haben, auch touch-action
CSS.
Eine ähnliche Frage wurde im Jahr 2014 mit Antworten auf das Negative gestellt: iOS 7 - Gibt es eine Möglichkeit, die Swipe-Funktion zum Zurück- und Weiterleiten in Safari zu deaktivieren?
Gibt es jetzt 2018 einen Arbeitsplatz?
Apple hat diese Richtlinien nach iOS9 bereitgestellt.
Die Anleitung lässt Sie deaktivieren
Scrollen
funktion touchMove (Ereignis) {
// Prevent scrolling on this element
event.preventDefault();
...
}
Prise und Zoom
funktion gestureChange (Ereignis) {
// Disable browser zoom
event.preventDefault();
...
}
Sie können eine Wischgeste wie folgt identifizieren:
Der vollständige Leitfaden ist Poster hier .
Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen.
Nitin, Defuzed
Es scheint keine Möglichkeit zu geben, diese Funktion zu deaktivieren. Als Workround habe ich festgestellt, dass eine Totzone von 24px auf beiden Seiten der Seite ausreicht, um eine unbeabsichtigte Navigation zu stoppen.
Hier ist mein CSS:
body {
position: fixed;
top: 0;
bottom: 0;
left: 24px;
right: 24px;
background-color: #ccc;
}
Durch das Erstellen des Körpers position: fixed
wird auch Safari der lästige Overscroll/Bounce-Effekt gestoppt.
Versuchen Sie dies im <body>
-Tag:
onload='ontouchmove()="return(function(event) { event.preventDefault(); event.stopPropagation(); return(false); } );"'
Ich kann mir vorstellen, dass es einige Nebeneffekte geben kann, wenn man IOS nicht über das Bewegen informiert, aber für SPW sind sie wahrscheinlich gering.