提问者:小点点

如何防止移动版边的下拉刷新


我想防止移动chrome(尤其是iOSchrome)的下拉刷新。我的Web应用程序有设备宽度和设备高度视口的垂直平移事件,但是每当平移时,移动chrome都会因为浏览器的默认功能而自行刷新。另外,在Safari浏览器上,平移事件期间屏幕会滚动。我想禁用这些移动。

当然我试过event . prevent default();和触摸-动作:无;但是它看起来不起作用。我应该在body标签上添加eventListner和touch-action吗?我期待有用的例子回答。


共3个答案

匿名用户

对于最新版本的Chrome:

html,
body {
    overscroll-behavior-y: contain;
}

旧的解决方案:

自移动版浏览器

document.addEventListener('touchstart', touchstartHandler, {passive: false});
document.addEventListener('touchmove', touchmoveHandler, {passive: false});

匿名用户

试试这个。

body {
  /* Disables pull-to-refresh but allows overscroll glow effects. */
  overscroll-behavior-y: contain;
}

它对我来说效果很好。由于其他javascript黑客攻击,我遇到了奇怪的滚动问题。阅读这篇文章了解更多详细信息。

https://developers.google.com/web/updates/2017/11/overscroll-behavior

匿名用户

滚动行为没有一个像这样对我有用。

body {
    overscroll-behavior: none 
}