【发布时间】:2019-08-29 15:57:26
【问题描述】:
我想在 SPA 上完全禁用向后滑动动画。这将允许我在 SPA 中使用一些滑动手势。目前在 iOS 上,您往往在触发某些手势时也会触发向后滑动手势。
我发现了这篇关于如何禁用它的上一篇文章:iOS 7 - is there a way to disable the swipe back and forward functionality in Safari?
他们建议如下:
1) 仅适用于 Chrome/Firefox 的 CSS 修复
html, body {
overscroll-behavior-x: none;
}
2) Safari 的 JavaScript 修复
if (window.safari) {
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
history.go(1);
};
}
问题在于它不会禁用 iOS 上的向后滑动动画,它只是替换了您被重定向到的位置。有没有办法在iOS上也禁用滑动动画?如果没有办法做到这一点,是否意味着如果你打算拥有 iOS 客户,你就不能真正使用任何滑动手势来构建 PWA?
【问题讨论】:
-
Swipe-back 是 iOS 上 Safari 的内置功能。该操作与“后退”按钮相同。因此,答案可能是禁用您网站上的后退按钮功能或您要禁用该功能的特定页面。
标签: javascript ios mobile mobile-safari swipe