Reputation: 505
I'm trying to remove this part of a webpage in side my WebView
<header class="page-header" data-type="fixed" role="banner"
This is what I tried so far
@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");
final String js = "javascript:"
+ "function () {"
+ " var element = document.getElementsByClassName('page-header');"
+ " element[0].parentNode.remove(element[0]);"
+ "} ();";
// 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(js);
}
});
webView.loadUrl(url);
return view;
}
Somehow this doesn't work. I tried various methods to achieve what I want but somehow it won't remove the header. Can anyone help me fix this problem? It's really anoying
Upvotes: 0
Views: 610
Reputation: 19223
you need also WebChromeClient
set for your WebView
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient()); //after setJavaScriptEnabled
also enabling DOM storage may be helpful
webView.getSettings().setDomStorageEnabled(true);
Upvotes: 1