Pull to Refresh im Browser ausschalten

madmix1

Grünschnabel
Hallo Com,

ich hab da eine Frage.

Es gibt doch für mobile Endgeräte in den Browser die Pull to Refresh Funktion, die beim nach unten ziehen einer Seite mit dem Finger von oben einen ajax-loader einblendet und dann nach dem loslassen die Seite neu lädt.

Das ist zwar sehr nett und trägt auch zu besseren Usability bei, kann aber bei bestimmten Seiten auch zu problemen führen, wenn das Ereignis nicht gewünscht ist.

Meine Frage daher:

Ist es grundsätzlich möglich das Pull to refresh in bestimmten Seiten per JavaScript auszuschalten ohne z.B. die EventHandler für mousemove o.ä. abzustellen, oder gibt es dafür bestimmte Meta Befehlszeilen?

Ich habe bei meinen Google Recherchen leider bis jetzt nix brauchbares gefunden.

Danke im Vorraus Mad.
 
Du könntest dem body via CSS overflow-y: hidden; mitgeben und das Scrollen über andere Elemente ermöglichen.

Soweit ich weiß, muss man für diese Funktion auch erst ganz nach oben scrollen. Das bedeutet, wenn die Seite nach ganz oben gescrollt ist könntest du speziell das Scrollen nach oben blockieren. Also entsprechend die Wischbewegung nach unten.

Irgendwas in die Richtung:
Javascript:
var lastScrollDirectionY = 0;

window.addEventListener("touchmove", function(event){
    var scrollPositionY = window.pageYOffset || window.scrollTop || 0;
    var currentScrollDirectionY = event.changedTouches[0].pageY;
    var scrollDirectionY = currentScrollDirectionY > lastScrollDirectionY ? 1 : -1;
    lastScrollDirectionY = currentScrollDirectionY;

    if(scrollDirectionY > 0 && scrollPositionY <= 0)
    {
        event.preventDefault();
    }
});

Einfache Meta-Angaben oder Ähnliches sind mir da auch nicht bekannt. Nur Geräteeinstellungen aber auf die hast du natürlich keinen Zugriff.
 
Zurück