Wie verhindert man Pull-to-Refresh in Webanwendungen für Chrome android?
Ich habe die Antworten von
ausprobiertDeaktivieren der Chrome-Pulldown-Funktion von android zum Aktualisieren
%Vor%oder
%Vor%Es hat nicht funktioniert. Hat jemand eine Lösung, die funktioniert? Es ist sehr schlecht für Browser, Pull-to-Refresh-Standard-Verhalten zu machen, es ist sehr unerwünscht für Web-Anwendungen.
Der folgende Code ist eine Nur-JavaScript-Lösung, die aus einigen Quellen besteht, die sich nach unten befinden.
Wenn Sie bereit sind, die Struktur Ihrer Seiten zu ändern, funktioniert möglicherweise nur eine CSS / HTML-Option für Sie.
Außerdem wird der Entwurf der CSS-Property scroll-boundary-behavior
gerade standardisiert und zu Chrome hinzugefügt, um diese Funktion unter einigen anderen zu bieten. Da die Implementierung sehr, sehr neu ist, biete ich Links am Ende meiner Antwort an.
Obwohl die iframe-Struktur von jsfiddle verhindert, dass Pull-to-Refresh überhaupt funktioniert, habe ich auch das gleiche Skript in einem flachen HTML-Dokument auf Chrome Android 60.0.3112.116 getestet.
event.preventDefault()
kann Browser-Standardverhalten wie Pull-to-Refresh verhindern. Wir wollen das übliche Browserverhalten die meiste Zeit, nur nicht, wenn es zu einem Pull-to-Refresh führen würde. Da ein Pull-to-Refresh-Vorgang stattfindet, wenn Berührungen den Bildschirm durchlaufen und wir zum oberen Rand des Dokuments gescrollt werden, rufen wir nur preventDefault
unter diesen Bedingungen auf.
Referenzen:
StackOverflow-Antwort, die auf die chromportatus.com-Seite verweist
"Behandeln Sie Dokumentenebene Berühren Sie Ereignislistener als passiv", chromportatus
"Berührungseingabe schnell per Vorgabe"
scroll-boundary-behavior
links:
github-Thema schlägt den Standard vor
Entwurf css-Modul , letzter Veröffentlichungsdatum 2017-09-07
Hier ist eine CSS-Methode zum Erfassen der erforderlichen Berührungsgesten, um zu verhindern, dass der Pull aktualisiert wird:
%Vor%Diese Methode scheint für andere Benutzer gut funktioniert zu haben. Hoffe, es funktioniert für Ihre Bedürfnisse.
Referenz, und es gibt weitere Strategien, die hier besprochen werden: Deaktivieren der Chrome-Pull-Down-to-Refresh-Funktion von Android
Tags und Links google-chrome pull-to-refresh