Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有没有办法从webview中隐藏元素?(安卓)_Android_Webview - Fatal编程技术网

Android 有没有办法从webview中隐藏元素?(安卓)

Android 有没有办法从webview中隐藏元素?(安卓),android,webview,Android,Webview,我用webview打开了一个网页,但是我想在顶部隐藏1个文本链接。有办法做到这一点吗?链接在body中,所以我不能整体隐藏body元素。 网页都是文本,底部有一个很小的图像,但是每次加载时都会生成文本,所以我不能只是复制/粘贴正文 谢谢我明白了! 通过注入javascript,我不得不使用 loadUrl(“javascript:(function()) { " + “document.getElementsByTagName('a')[0].style.display” ='无'+ "})()

我用webview打开了一个网页,但是我想在顶部隐藏1个文本链接。有办法做到这一点吗?链接在body中,所以我不能整体隐藏body元素。 网页都是文本,底部有一个很小的图像,但是每次加载时都会生成文本,所以我不能只是复制/粘贴正文

谢谢

我明白了! 通过注入javascript,我不得不使用

loadUrl(“javascript:(function()) { " + “document.getElementsByTagName('a')[0].style.display” ='无'+ "})()");

这将删除链接(代码)。将('a')替换为('img')将删除图像

(谢谢)

我用

并加以实施

webViewSuite = findViewById(R.id.webViewSuite);
webViewSuite.startLoading("https://example.com/blog/");
并将customizeClient添加到WebViewSuite

webViewSuite.customizeClient(new WebViewSuite.WebViewSuiteCallback() {
      @Override
      public void onPageStarted(WebView view, String url, Bitmap favicon) {
      }

      @Override
      public void onPageFinished(WebView view, String url) {
        hideSomeSectionOfBlog(view);
      }

      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
      }
    });
并使用函数隐藏元素

 private void hideSomeSectionOfBlog(WebView view) {
    view.getSettings().setJavaScriptEnabled(true);
    view.loadUrl("javascript:(function() { " +
      "document.getElementById('Top_bar').style.display='none';" +
      "document.getElementById('Filters').style.display='none';" +
      "document.getElementById('Footer').style.display='none';" +
      "document.getElementsByClassName('Header').style.display='none';" +
      "})()");
  }
希望有用

注意:如果id不存在,JavaScript获取错误。 示例:如果筛选器不存在,则id、页脚和页眉不显示='none' 如果你不信任像这样分开的人

view.loadUrl("javascript:(function() { " +
      "document.getElementById('Footer').style.display='none';})()");
view.loadUrl("javascript:(function() { " +
      "document.getElementById('Header').style.display='none';})()");

它应该是
“javascript:(function(){document.getElementById('your_id').style.display='none';}()”
(没有
[0]
)我使用的是相同的代码,但它对webViewsame没有任何影响。我甚至不能保持警惕(“Hello”);工作。我已经将js enabled设置为true。它在onPageFinished()中工作。加载时是否有机会隐藏div?谢谢你advance@SandeepReddyM为什么不隐藏webview以及何时直到onPageFinish调用visible webview。WebView将准确显示您希望向用户显示的内容。
view.loadUrl("javascript:(function() { " +
      "document.getElementById('Footer').style.display='none';})()");
view.loadUrl("javascript:(function() { " +
      "document.getElementById('Header').style.display='none';})()");