mobile: Wie verhindert man Pull-to-Refresh

9

Wie verhindert man Pull-to-Refresh in Webanwendungen für Chrome android?

Ich habe die Antworten von

ausprobiert

Deaktivieren 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.

    
Dave 13.10.2016, 03:38
quelle

2 Antworten

0

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.

Beispiel

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.

Volles Spiel

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.

%Vor%

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"

"Ereignisse berühren"

scroll-boundary-behavior links:

chromestatus

Chrombug

github-Thema schlägt den Standard vor

Entwurf css-Modul , letzter Veröffentlichungsdatum 2017-09-07

    
ellisbben 21.09.2017 01:48
quelle
0

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

    
C Jones 25.09.2017 01:40
quelle