[英]Remove part of website from webpage Java
@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;
}
I've wrote this code. 我已经写了这段代码。 Which gets the URL from another Fragment.
这从另一个片段获取URL。 Doesn't matter for this question.
这个问题无关紧要。 I tried various JavaScript code to remove the header from a webpage www.ad.nl but it doesn't seem to work.
我尝试了各种JavaScript代码,从www.ad.nl网页中删除了标头,但似乎不起作用。 The class of the header on that page is page-header.
该页面上的标题类是page-header。 Beside that escaping the function like
\\"page-header\\"
doesn't work. 除此之外,转义
\\"page-header\\"
功能不起作用。
Can anyone help me fix this issue? 谁能帮我解决这个问题?
My take on this would be something like 我对此的看法是
String js = "javascript:"
+ "function () {"
+ " var element = document.getElementsByClassName('page-header');"
+ " element[0].parentNode.remove(element[0]);"
+ "} ();";
and then I would probably use the evaluateJavascript
if possible to avoid unnecessary page loads like so: 然后,如果可能的话,我可能会使用
evaluateJavascript
来避免不必要的页面加载,如下所示:
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);
}
}
});
Note that this takes care only the first page-header
it encounters and will break if missing but the idea should be clear. 请注意,这仅会照顾它遇到的第一个
page-header
,如果丢失则将中断,但思路应明确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.