如何使用 WebView 更改网页的外观



我有一个方法,当调用时,使用WebView打开一个网页

public void open() {
        myWebViewV = new WebView(this);
        setContentView(myWebViewV);
        myWebViewV.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                return true;
            }
        });
        myWebViewV.loadUrl("http://www.mywebsite.org");
    }

这很好地加载了网页,并且有点像我想要它做的事情,但是..它自己的页面有一些我想摆脱的东西。

例如,它具有"回复"和"发布"或

"引用"按钮,用户可以按下这些按钮来回复,发布或引用某人。

我的目标是实现这些我自己并隐藏网站的按钮。

使用 WebView 类可以做到这一点吗?我必须使用其他类来完成此操作吗?我确实浏览了WebView,但没有发现任何可以为我提供执行此操作所需的工具。

谷歌搜索也没有多大帮助,但这可能是因为我无法正确表达我的意图。

您可以通过将

javascript注入到您正在加载的网页来实现这一点。

final WebView webview = (WebView)findViewById(R.id.browser);
// enable JavaScript
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url)
    {
        // here you can do whatever you want
        webview.loadUrl("javascript:(function() { " +
                "document.getElementsByTagName('reply_button').style.display='none'; " +
                "})()");
    }
});
webview.loadUrl("http://www.webiste.com");

使用 WebView 类可以做到这一点吗?

也许。您可以在加载的网页上下文中执行JavaScript,因此,如果您可以制作对DOM执行所需操作的JavaScript,则可以使用WebView来执行此操作。

在 Android 4.3 及更低版本中,请使用 loadUrl("javascript:...") ,其中 ... 替换为您的 JavaScript 源代码。

在 Android 4.4 及更高版本上,请使用 evaluateJavascript()

最新更新