在WebView中滚动到HTML内容

4

有没有一种可以通过程序控制在 WebView 中滚动到已显示的HTML元素的方法?

WebView API只提供了一个scrollTo(x,y)方法,但我找不到一种确定已显示元素位置的方法。

解决方案

使用Javascript:

webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("javascript:document.getElementById('id').scrollIntoView();");
1个回答

5
也许不能直接使用WebView,但可以使用JavaScript。如果你有一个滚动到元素的js函数,例如:
function scrollTo(element){
   document.getElementById(element).scrollIntoView();
}

您可以通过WebView调用它。
mWebView.loadUrl("javascript:scrollTo('element')");

请确保WebView中启用了JavaScript

mWebView.getSettings().setJavaScriptEnabled(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接