1

过去(在 iOS 8 之前)Safari 无法在滚动时进行原生动画处理,您必须停止滚动才能看到动画。Safari 解决了这个问题,但在 Chrome 上(在 iOS 中运行)访问同一网站时,问题仍然存在。我读到 chrome 还没有在 iOS 上更新这个。我知道它在 Android 上运行良好......所以......有没有办法用modernizr 或其他js 测试这个“功能”?如果不支持滚动动画,我想禁用它们。我已经能够通过检查用户正在使用的浏览器来完成此操作,但如果我可以检查该功能是否可用会更容易。

4

1 回答 1

0

在 iOS 8 之前,iOS 会在用户滚动时暂停绘画。对于使用的应用程序,此行为已停止使用WKWebView,但对于使用的浏览器仍然存在UIWebView——这就是为什么您只能看到某些第三方应用程序的旧行为。

一种方法是检测您的页面是否在内部加载WKWebView。另一个问题的答案建议测试indexedDB支持。是和indexedDB之间唯一的 HTML5 功能差异。WKWebViewUIWebView

另一个答案的片段建议了如何做到这一点:

if (navigator.platform.substr(0,2) === 'iP'){
   //iOS (iPhone, iPod or iPad)
   if (window.indexedDB) {
      //WKWebView
   }
}
于 2015-11-25T16:59:30.270 回答