【问题标题】:Removing a Tag from a webpage on android WebView从 android WebView 上的网页中删除标签
【发布时间】:2013-08-01 17:00:53
【问题描述】:

我想在这个答案Display a part of the webpage on the webview android的帮助下从网页中删除“标题”元素

但我收到一条错误消息;看到这个https://dl.dropboxusercontent.com/u/15065300/Check-2.jpg

这是我的完整代码:

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebViewActivity extends Activity {

    private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);

        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
         @Override
        public void onPageFinished(WebView view, String url)
        {
            webView.loadUrl("javascript:(function() { " +
                    "document.getElementsByTagName('myDiv1')[0].style.display="none"; " +
                    "})()");
        }
        });
        webView.loadUrl("http://skyasim.info/abc.html");

    }

}

也显示权限

 <uses-permission android:name="android.permission.INTERNET" />

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    您需要转义您的"。请参阅Escape Sequences 部分。

    webView.loadUrl("javascript:(function() { " +
        "document.getElementsByTagName('header')[0].style.display=\"none\"; " +
        "})()");
    

    【讨论】:

    【解决方案2】:

    这对我有用:

    webView.loadUrl("javascript:var con = document.getElementById('a'); " +
                    "con.parentNode.removeChild(con); ");
    

    html代码:

        <ul>
    ............
         <div id="a">               
                    <H4 align="center"> something</H4>  
         </div>                 
        </ul>
    

    【讨论】:

      【解决方案3】:
      <div class="row"></div>
      
      webview.loadUrl("javascript:if (typeof(document.getElementsByClassName('row')[0]) != 'undefined' && document.getElementsByClassName('row')[0] != null){document.getElementsByClassName('row')[0].style.display = 'none';} void 0");
      

      【讨论】:

      • 你可以添加 public void onPageFinished(WebView view, String url) { if (progressBar.isShowing()) { progressBar.dismiss(); } view.loadUrl("javascript:var footer = document.getElementById('footer'); footer.parentNode.removeChild(footer); var header = document.getElementById('header-full'); header.parentNode.removeChild(header );"); }
      • 你可以edit你的答案,不要在cmets中发布代码。
      • 好的,你可以在 onPageFinished 方法中添加 view.loadUrl("javascript:var footer = document.getElementById('footer');
      猜你喜欢
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多