如何在Webview中加载的Web上进行替换

Add*_*dev 8 html java android webview chromium

我正在使用webview实现一个应用程序.对于webview中加载的url,我需要对url中加载的html代码执行替换.

我怎样才能以有效的方式做到这一点?

说明:我需要从源代替特定的脚本脚本:

例如:我想

<html>
    <script> SCRIPT A</script>
    <p>Hello World</p>
</html>
Run Code Online (Sandbox Code Playgroud)

我想向对方显示用户

<html>
    <script> SCRIPT B</script>
    <p>Hello World</p>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢

kat*_*hut 1

你必须shouldInterceptRequest覆盖WebViewClient. 请参阅此处的文档。

一般形式是这样的(未经测试):

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助,如果没有,请告诉我。