javascript - 您可以测试 Safari 和 Chrome (iOS) 上的滚动差异吗?

标签 javascript ios mobile-safari modernizr mobile-chrome

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

最佳答案

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

一种方法是检测您的页面是否已加载到 WKWebView 中。安answer另一个问题建议测试 indexedDB 支持。 indexedDBWKWebViewUIWebView 之间唯一的 HTML5 功能差异。

来自the other answer的片段建议如何执行此操作:

if (navigator.platform.substr(0,2) === 'iP'){
   //iOS (iPhone, iPod or iPad)
   if (window.indexedDB) {
      //WKWebView
   }
}

关于javascript - 您可以测试 Safari 和 Chrome (iOS) 上的滚动差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921634/

相关文章:

javascript - Three.js + 传单 = 3D map ?

javascript - angular js渲染如果

javascript - 从 img 标签中删除 onclick 事件

ios - 在swift中设置模糊效果全屏

带有自定义字体的 iOS Today Widget 由于内存错误而终止

javascript - Safari 剪贴板错误 "TypeError: undefined is not an object"

javascript - 如何从现有的 svg 对象分配 css 背景图像?

ios - 呈现一个新的 View Controller 保持标签栏

ios - 如何允许 Cordova 6.1 应用程序从网站在 iOS 中嵌入 iframe?

html - 100% 宽度的 Css 问题仅在移动 safari 上