簡體   English   中英

如何從Android Webview中加載的HTML獲取DOM的內容?

[英]How to get the content of a DOM from a HTML loaded in an Android webview?

例如: 在webview中加載的網頁是

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

如何從Java代碼中獲取DOM ID“ e”的內容,或者如何在“獲取”回叫期間獲取內容?

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

如何使用browser在Webview中提取內容?

我發現的唯一方法是讓JS通過JS接口將值發送到您的設備。 在這里看看。

然后,您有兩個選擇,要么從$(document).ready回調調用接口,要么使用webView.loadUrl(“ javascript:XXXX”)調用JS函數,該函數將在DOM中獲取值並將其傳遞到您的界面。

在我的項目中,加載網頁時需要從網頁中獲取一些值。 我已經開發了一個WebAppInfoLoader,它調用一個JS函數,該函數返回所問變量的值:

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

然后,JS函數調用該接口,該接口通知加載程序已接收到該值。 裝入程序收集所有值后,他自己將通知調用對象。

Google並沒有提供iOS上存在的更簡單的系統,這是非常復雜和非常不幸的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM