Chrome 75 and newer
Google has made pull-to-refresh mandatory with the update to version 75. You can not turn it off.
You can prevent accidental refreshes by scrolling up slowly.
If you own a website, you can still opt your website out of pull-to-refresh using the following CSS property.
Simple solution for 2019+ for site owners
Chrome 63 has added athe overscroll-behaviour
css property to help out with exactly this. Have a read through this guide by Google to get a good idea of how you can handle it.
Here is their TL:DR
The CSS overscroll-behavior property allows developers to override the browser's default overflow scroll behavior when reaching the top/bottom of content. Use cases include disabling the pull-to-refresh feature on mobile, removing overscroll glow and rubberbanding effects, and preventing page content from scrolling when it's beneath a modal/overlay.
To get it working, all you have to add is this in your website's CSS:
body {
overscroll-behavior: contain;
}
It is also only supported by Chrome, Edge and Firefox for now but I'm sure Safari will add it soon as they seem to be fully onboard with service workers and the future of PWA's.
Solution for Chrome 41 to 74
Open chrome://flags
, search for disable-pull-to-refresh-effect
, and tap on "Disable".