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

时间:2014-01-11 16:48:15

标签: java android user-interface 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查看,但没有找到任何可以为我提供此工具所需的工具。

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

2 个答案:

答案 0 :(得分:1)

  

这可以使用WebView类吗?

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

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

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

答案 1 :(得分:1)

您可以通过将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");