0

例:ウェブビューに読み込まれるウェブページは

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

JavaコードからDOMID'e'のコンテンツを取得したり、'get'コールバック中にコンテンツを取得したりするにはどうすればよいですか?

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

browserWebビューのコンテンツを抽出するためにどのように利用できますか?

4

1 に答える 1

1

私が見つけた唯一の方法は、JSにJSインターフェースを介してデバイスに値を送信させることです。これについてはこちらをご覧ください。

次に、2つのオプションがあります。$(document).readyコールバックからインターフェイスを呼び出すか、webView.loadUrl( "javascript:XXXX")を使用してDOMの値を取得して渡すJS関数を呼び出します。あなたのインターフェースに。

私のプロジェクトでは、ロード時にWebページからいくつかの値を取得する必要があります。要求された変数の値を返すJS関数を呼び出すWebAppInfoLoaderを開発しました。

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

次に、JS関数は、値が受信されたことをローダーに通知するインターフェースを呼び出します。ローダーがすべての値を収集すると、ローダー自身が呼び出し元オブジェクトに通知します。

グーグルがiOSに存在するようなより単純なシステムを考え出していないことは非常に洗練されており、非常に残念です。

于 2013-06-11T03:36:47.993 に答える