2013-02-26 22 views
0

例如: 在網頁視圖加載網頁如何從Android webview中加載的HTML中獲取DOM的內容?

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

我怎樣才能獲得DOM ID「E」的從Java代碼的內容或在「得到」回撥獲得內容?

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

我怎麼能利用browser以提取的WebView內容?

+2

我很困惑你需要什麼特別編輯 – 2013-02-26 03:42:04

+0

問題編輯 – 2013-02-26 06:53:27

回答

0

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

然後你有兩個選擇,要麼從$(document).ready回調中調用接口,要麼使用webView.loadUrl(「javascript:XXXX」)調用一個JS函數,該函數將得到DOM並將其傳遞到您的界面。

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

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

然後,JS函數調用哪個通知,該值已收到裝載機的接口。當加載器收集所有值時,他自己通知調用對象。

這是非常複雜和非常不幸的是,谷歌還沒有拿出一個更簡單的系統,因爲它存在於iOS上。