以前(在iOS 8之前)Safari无法在滚动上进行原生动画,您必须停止滚动才能看到动画。 Safari解决了这个问题,但是当访问Chrome上的同一网站(在iOS上运行)时,问题仍然存在。我读到Chrome还没有在iOS上更新。我知道它在Android上运行良好...所以...有没有办法用modernizr或其他js测试这个“功能”?如果不支持,我想在滚动时禁用动画。我已经能够通过检查用户正在使用哪个浏览器来实现这一目标,但是如果我能够检查功能是否可用则会更容易。
答案 0 :(得分:0)
在iOS 8之前,iOS会在用户滚动时暂停绘画。对于使用WKWebView
的应用程序,此行为已停止,但对于使用UIWebView
的浏览器仍然存在 - 这就是为什么您只能看到某些第三方应用程序的旧行为。
一种方法是检测您的网页是否在WKWebView
内加载。 answer另一个问题建议测试indexedDB
支持。 indexedDB
是WKWebView
和UIWebView
之间唯一的HTML5功能差异。
the other answer的摘录建议如何执行此操作:
if (navigator.platform.substr(0,2) === 'iP'){
//iOS (iPhone, iPod or iPad)
if (window.indexedDB) {
//WKWebView
}
}