2017-06-26 8 views
0
@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceStatus){ 
     View view = inflater.inflate(R.layout.fwebview, container, false); 
     webView = (WebView) view.findViewById(R.id.webView); 
     String url = getArguments().getString("link"); 

     // Enable Javascript 
     webView.getSettings().setJavaScriptEnabled(true); 

//set the WebViewClient before calling loadUrl 
     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onPageFinished(WebView view, String url) 
      { 
       webView.loadUrl("javascript:var con = document.getElementByClassName('page-header'); " + 
         "con.parentNode.removeChild(con); "); 
      } 
     }); 
     webView.loadUrl(url); 
     return view; 
    } 

Ich habe diesen Code geschrieben. Welches die URL von einem anderen Fragment erhält. Ist für diese Frage nicht wichtig. Ich habe verschiedene JavaScript-Codes ausprobiert, um die Kopfzeile von einer Webseite www.ad.nl zu entfernen, aber es scheint nicht zu funktionieren. Die Klasse des Headers auf dieser Seite ist Seitenkopf. Abgesehen davon, dass die Funktion nicht funktioniert, funktioniert die Funktion \"page-header\" nicht.Entfernen Sie einen Teil der Website von der Webseite Java

Kann mir jemand helfen, dieses Problem zu beheben?

Antwort

1

Meine Meinung zu diesem Thema wie etwas

String js = "javascript:" 
      + "function() {" 
      + " var element = document.getElementsByClassName('page-header');" 
      + " element[0].parentNode.remove(element[0]);" 
      + "}();"; 

wäre und dann würde ich wahrscheinlich die evaluateJavascript wenn möglich verwenden, um wie so unnötige Seite geladen zu vermeiden:

webView.setWebViewClient(new WebViewClient() { 

    @Override 
    public void onPageFinished(WebView view, String url) 
    { 
     if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { 
      webView.evaluateJavascript(js, null); 
     } else { 
      webView.loadUrl(js); 
     } 
    } 

}); 

Beachten Sie, dass diese Pflege nur dauert der erste page-header es trifft und wird brechen, wenn es fehlt, aber die Idee sollte klar sein.

+0

Dies funktioniert leider nicht –

Verwandte Themen