使用Javascript隐藏Android WebView中的元素

时间:2015-11-10 08:41:57

标签: javascript android webview

我试图隐藏以下部分:

<table border="0" width="100%" cellspacing="0" cellpadding="0"class="header">
  <tbody>
    <tr>
      <td align="center"><img src="images/logo.png" border="0" style="height:29px;"></td>
    </tr>
  </tbody>   
</table>

我的代码:

public class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String Url) {
        view.loadUrl("javascript:document.getElementByClassName('header').style.display = 'none';");
    }
}

如果它有助于回答我的问题我正在谈论的网站是http://vs-go.de/(移动版)。

编辑:我忘记了'实际'代码部分,抱歉。

    myWebView = (WebView) findViewById(R.id.webview);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebViewClient = new MyWebViewClient();
    myWebView.setWebViewClient(myWebViewClient);
    myWebView.loadUrl("http://vs-go.de/");

myWebView在代码顶部全局定义。

1 个答案:

答案 0 :(得分:1)

如果这是唯一的错误,那么现在无法测试,但它是

getElementsByClassName

你错过了中间的 s

第二个错误:

getElementsByClassName返回一个数组。

所以javascript:document.getElementsByClassName('header')[0].style.display = 'none'; 应该为你工作。刚刚在规范浏览器中进行了测试,表现为移动设备,没问题。