перезагрузка страницы при свайпе вниз в мобильных браузерах

В мобильных браузерах реализована такая фича, что если свайпить сверху вниз и при этом скрол находится в вернем положении, то запуститься перезагрузка страницы.
Видел подобный вопрос, но там автор использовал костыль overflow: hidden на тег body. Меня же интересуют более правильные решения отмены этого действия.


Ответы (1 шт):

Автор решения: 2ip

У меня получилось такое решение:

var lastY = 1;
document.addEventListener("touchmove", function (event) {
    var lastS = document.documentElement.scrollTop;
    if(lastS == 0 && (lastY-event.touches[0].clientY)<0 && event.cancelable){
        event.preventDefault(); 
        event.stopPropagation();
    }
    lastY = event.touches[0].clientY;
},{passive: false});
→ Ссылка