【问题标题】:How to get the content of a DOM from a HTML loaded in an Android webview?如何从 Android webview 中加载的 HTML 中获取 DOM 的内容?
【发布时间】:2013-02-26 03:36:10
【问题描述】:

例如: 在 webview 中加载的网页

<script>
$(document).ready(
function(){
    $.get(
    '/my.url',
    function(data){
        $('#e').html(data);
    }
    );
}
);
</script>
<div id='e'></div>

如何从 Java 代码中获取 DOM id 'e' 的内容或在 'get' 回调期间获取内容?

java部分 final WebView browser = (WebView)findViewById(R.id.browser);

如何使用browser 提取webview 中的内容?

【问题讨论】:

  • 我对你具体需要什么感到困惑

标签: java javascript android jquery html


【解决方案1】:

我发现的唯一方法是让 JS 通过 JS 接口将值发送到您的设备。看看here 这个。

那么你有两个选择,要么从 $(document).ready 回调中调用接口,要么使用 webView.loadUrl("javascript:XXXX") 调用将获取 DOM 中的值的 JS 函数并将其传递给您的界面。

在我的项目中,我需要在加载网页时从网页中获取一些值。我开发了一个 WebAppInfoLoader,它调用一个返回所询问变量值的 JS 函数:

mWebView.loadUrl(String.format("javascript:sendValueToDeviceInterface(%s);", jsValue.getId()));

然后,JS函数调用接口通知加载器已收到值。当加载器收集完所有值后,他自己通知调用对象。

Google 没有像 iOS 上那样提供更简单的系统,这是相当复杂和非常不幸的。

【讨论】:

    猜你喜欢
    • 2012-01-02
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    相关资源
    最近更新 更多