webView获取链接后的url和加载经过处理后的HTML

webview是android比较重要和常用的控件,网络上很多相关内容,在此介绍下WebViewClient比较少见的操作:

我们获取WebView里面链接别的网页的url地址

private class MyWebViewClient extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {return true; //返回true才能在当前WebView显示url链接内容,否则会打开其它浏览器}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);initCollectionImageBtn(url);//1、 view.getOriginalUrl()初始加载为空null,此后该值==view.getUrl() != url// 2、并且url等于onPageFinished的值imgButtonFresh.setImageDrawable(getResources().getDrawable(R.drawable.selector_nav_to_refresh_stop));}@Overridepublic void onPageFinished(WebView view, String url) { // view.getOriginalUrl() == view.getUrl() == urlif (isCollection) {changeCollectionImgBg(COLLECTION_SATE_AFTER);} else {changeCollectionImgBg(COLLECTION_SATE_BEFORE);}imgButtonFresh.setImageDrawable(getResources().getDrawable(R.drawable.selector_nav_to_refresh));view.loadUrl("javascript:" + handleWebViewHeader(url));super.onPageFinished(view, url);}@Overridepublic void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);}}以上代码是项目的一个代码片段,url的值参考上面代码,,其中onPageFinished()函数中view.loadUrl("javascript:"+handleWebViewHeader(url))是加载经过处理后的HTML页面,该处是去除header内容:

"document.body.removeChild(document.getElementsByTagName(\&;header\&;)[0])";

或者"document.body.removeChild(document.getElementsByClassName(\&;header\&;)[0])";

发光并非太阳的专利,你也可以发光

webView获取链接后的url和加载经过处理后的HTML

相关文章:

你感兴趣的文章:

标签云: