2017-01-20 5 views
8

私はwebviewを使ってアプリケーションを実装しています。 webviewにロードされたURLについては、URLに読み込まれたhtmlコードを置き換える必要があります。Webviewに読み込まれたWeb上での置換え方法

これを効率的に行うにはどうすればよいですか?

説明:例では

:私はソースから特定のスクリプトスクリプトを交換する必要があり、私は、ユーザーを表示したい

<html> 
    <script> SCRIPT A</script> 
    <p>Hello World</p> 
</html> 

に私がしたいこの他

<html> 
    <script> SCRIPT B</script> 
    <p>Hello World</p> 
</html> 

ありがとう

+0

あなたは少し鮮明になりますか?ロードしているページのURLまたは部分の一部を置き換える必要がありますか?一度にブロック全体を置き換える必要がありますか、それとも単語ごとにこれを行いますか?また、あなたはアンドロイドデリゲートシステムへのフックを探していますか、または使用するアルゴリズムについての提案をお探しですか? – katzenhut

+0

私の質問が更新されました。それをチェックしてください。 – Addev

+0

もし私が間違っていないなら、現在のWeb jsスクリプトをスクリプトに置き換えたいですか? – ZeroOne

答えて

1

shouldInterceptRequestをに上書きする必要があります。ドキュメントhereを参照してください。

一般的な形式は次のようなもの(未テスト)のようになります。私はこれがない場合は私に知らせて、役に立てば幸い

webview.setWebViewClient(new WebViewClient() { 
    @Override 
    public WebResourceResponse shouldInterceptRequest (final WebView view, String url) { 
     if (you_want_to_intercept) { 
      /*return custom WebresourceResponse here*/ 
     } else { 
      /*call superclass*/ 
      return super.shouldInterceptRequest(view, url); 
     } 
    } 
} 

0

httpリクエストを使用してHTMLページを文字列として取得し、jsoupなどを使用してスクリプトを検索して置き換え、WebView.loadDataWithBaseURLを使用してHTMLコンテンツをWebViewに読み込むことができます。

関連する問題