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])";


更多相关文章

  1. 如何解决软键盘弹出引起的各种不适
  2. 卡片式ViewPager,让你的界面炫酷起来! ! !
  3. MapBox在移动端的四种实现方式
  4. Android之监测database的改变--notifyChange
  5. [Android]【安卓】在代码中实时改变控件的大小
  6. Android笔记2——开发前奏2工程目录介绍和两个小应用
  7. Android中显示gif动画
  8. Android(安卓)WebView属性及用法
  9. Android第三方文件选择器:aFileChooser

随机推荐

  1. proguard ant 混淆
  2. apply google map api
  3. Android高版本收不到静态注册的广播
  4. Android(安卓)动画效果
  5. 简单适配器加载列表
  6. Dalvik 文档 【记录】
  7. android打开网页,使用手机浏览器
  8. XmlSerializer 短信备份
  9. 如何使用Android(安卓)MediaStore裁剪大
  10. Android(安卓)Handler leak 分析及解决办