android - 在 WebView 中滚动到 HTML 内容

标签 android android-webview

有没有办法以编程方式滚动WebView中显示的HTML 元素

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

解决方案

使用 Javascript:

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

最佳答案

也许不是直接使用 WebView,而是使用 javascript。如果你有一个 js 函数来滚动到这样的元素:

function scrollTo(element){
   document.getElementById(element).scrollIntoView();
}

您可以从 WebView 调用它

mWebView.loadUrl("javascript:scrollTo('element')");

只需确保在 WebView 中启用了 javascript

mWebView.getSettings().setJavaScriptEnabled(true);

关于android - 在 WebView 中滚动到 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463448/

相关文章:

java - 为什么我无法停止 Android 中的服务?

android - 修复由 Leak Canary 发现的 Activity 内存泄漏

android - 首次启动 Activity 时,淡入动画不适用于 webview

android - webview loadurl 无法从本地主机 Web 应用程序加载网页?

java - 如何离线使用缓存,否则使用网络

android - 在不卡住 UI 线程的情况下异步调用 WebView#getDrawingCache()

Android webview加载数据性能很慢

android - 每隔一段时间向android中的videoview播放器添加标记

java - 写入文件时出现 IOException(Stream 已关闭)

android - 你如何将 'com.google.protobuf' 包含在 android 项目 (gradle) 中作为完整而不是精简版?