在 Android 上,在 WebView 中,我们遇到了 window.pageYOffset
属性间歇性错误地返回 0 的问题。
它也会在应该返回 0 时返回 0,例如在页面顶部。
这是一个 JSBin,显示了我们到目前为止的内容(打开控制台):
这是我们使用的代码:
这是滚动页面时 console.log 的屏幕截图。
我们的环境是 Android KitKat,在应用程序中使用 webview,chrome 开发人员工具报告为版本 (33.0.0.0)。
另外值得一提的是,如果我们在 KitKat 上的 chrome 37 中加载页面,它会按预期运行,并且不会间歇性地报告 0。
最佳答案
所以这是一个解决方案,您必须在滚动时缓存偏移值,并且当 WebView 间歇性地为 window.pageYOffset 返回 0 时,使用之前缓存的位置。
这是一个 JS Bin适用于 Android WebView。
我知道关于性能相当讨厌,但是实现间隔或超时 like this也会有所帮助。
关于javascript - KitKat WebView 错误地报告 pageYOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25851072/