如何判断webview是否滑到底部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断webview是否滑到底部相关的知识,希望对你有一定的参考价值。

首先是滑动到底部记得需要(int)(mWebview.getContentHeight*mWebView.getScale())强转正int型去掉后面的小数点
mWebview.getContentHeight:得到mWebview的内容高度,由于mWebview有缩放因此需要乘以他的缩放值mWebView.getScale()
mWebView.getHeight():当前mWebView显示的高度
mWebView.getScrollY():mWebView竖直方向上滚动的高度,若为0说明滚动条在顶部了!
参考技术A

  getScrollY()方法返回的是当前可见区域的顶端距整个页面顶端的距离,也就是当前内容滚动的距离。

  getHeight()或者getBottom()方法都返回当前webview这个容器的高度

  getContentHeight返回的是整个html的高度,但并不等同于当前整个页面的高度,因为webview有缩放功能,所以当前整个页面的高度实际上应该是原始html的高度再乘上缩放比例。

  因此,更正后的结果,准确的判断方法应该是:

  if(webview.getContentHeight*webview.getScale()-(webview.getHeight()+webview.getScrollY())==0)

  //已经处于底端

  

  

利用JS,如何判断滚动条是不是滚动到页面最底部

我现在想利用JS,判断滚动条是否滚动到页面最底部,如果到达最底部,那么页面下面将自动执行JS函数,加载一些文档,再向下滑动,滑到最底部则继续自动加载。

window.onscroll=function()

if(Math.abs(document.body.clientHeight - document.documentElement.clientHeight +200) <= (document.documentElement.scrollTop || document.body.scrollTop))
showmore();



这是我的函数,这个函数支持chrome,但是不支持IE,因为IE中document.documentElement.都是0,可能因为页面顶有<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">的问题。

请问高手有什么解决办法吗?

参考技术A 改成这样就可以兼容 IE和chrome
<script type="text/javascript">
window.onscroll=function()
var a = document.documentElement.scrollTop==0? document.body.clientHeight : document.documentElement.clientHeight;
var b = document.documentElement.scrollTop==0? document.body.scrollTop : document.documentElement.scrollTop;
var c = document.documentElement.scrollTop==0? document.body.scrollHeight : document.documentElement.scrollHeight;

if(a+b==c)
showmore();


</script>本回答被提问者采纳

以上是关于如何判断webview是否滑到底部的主要内容,如果未能解决你的问题,请参考以下文章

Appcelerator Webview滚动到底部?

移动端监听上滑下滑(判断元素是否滚动到底部)

如何查找 webview 中的滚动位置是滚动到最后还是滚动到顶部?

Android 在当前WebView打开页面,判断是不是有

webview 判断加载的是哪个页面

Xamarin Forms WebView:滚动到 HTML 文档的底部