需求

WebView加载的某些网页里面常常有广告,需要把广告去除,可以利用js把对应的广告块进行隐藏。这里效果就是只展示列表内容。

效果

  • 原始效果
  • 屏蔽后效果

代码

  • 核心JS代码
document.querySelector('#siteWrapper > header').style.display="none";
  • WebView 设置
    隐藏代码写在WebView 的setWebViewClient方法下面onProgressChanged 里面
WebViewClient client=new WebViewClient(){@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)@Overridepublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {view.loadUrl(request.getUrl().toString());return true;}@Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {handler.proceed();}@Overridepublic void onPageFinished(WebView view, String url) {String fun="javascript:" +"function hideStyle(){" +"document.querySelector('#siteWrapper > header').style.display=\"none\";" +"document.querySelector('#siteWrapper > div.wrapper > section.boxItem.boxItemAdd').style.display=\"none\";" +"document.querySelector('#siteWrapper > div.wrapper > section.boxItem.toggleBox.pairsWrapper > div').style.display=\"none\";" +"document.querySelector('#siteWrapper > footer > div.footerBottom').style.display=\"none\";" +"document.querySelector('#siteWrapper > footer > div:nth-child(4)').style.display=\"none\";" +"document.querySelector('#siteWrapper > footer > div:nth-child(3)').style.display=\"none\";" +"document.querySelector('#siteWrapper > footer > div:nth-child(2)').style.display=\"none\";" +"document.querySelector('#siteWrapper > footer > div:nth-child(1)').style.display=\"none\";" +"document.querySelector('#siteWrapper > section.boxItem.disclaimer.js-toggled-box.js-disclaimer-box').style.display=\"none\";" +"document.querySelector('#div-gpt-ad-1333374405327-0').style.display=\"none\";" +"document.querySelector('#div-gpt-ad-1338276709958-0').style.display=\"none\";" +"document.querySelector('#siteWrapper > div.adDrawer').style.display=\"none\";" +"}" +"hideStyle();";view.loadUrl(fun);}};

步骤

在浏览器中打开网页链接地址,按 F12 查看网页源代码,在div 上选择复制selector

好了,over

Android WebView屏蔽网页中广告相关推荐

  1. Android WebView获取网页中JavaScript弹框内容

    Android WebView获取网页中JavaScript弹框内容 网页中弹窗的js代码为 <script type="text/javascript" language= ...

  2. winform-webbrowser屏蔽网页中的广告

    1.我这里的webbrowser调用http://lishi.tianqi.com/haerbin/index.html这个网页,直接在Load中写代码即可: private void History ...

  3. 关于android webview使用过程中遇到的一些问题总结

    开发WebView的时候遇到了各种问题,在此总结一下. 一.webview的使用方法 1.1.layout中添加WebView的视图. <WebViewandroid:id="@+id ...

  4. android 动画 空白页,Android WebView打开网页一片空白的解决方法

    问题描述: 网页链接是Https链接 网页链接在电脑的Chrome浏览器中打开正常 网页链接在手机的Chrome浏览器中打开正常 网页链接在IOS的App上打开正常 网页链接在Android App中 ...

  5. android WebView 显示网页

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. 可以过滤网页中广告的插件Adblock Plus

    现在csdn博客里的广告太多了,越来越影响用户体验,比如: 当然在其他很多网站中也会有类似的牛皮癣式的广告,而且乱七八糟,没有任何价值. 然后找到了一个很好用的过滤广告的插件,叫做Adblock Pl ...

  7. Android webview打开网页空白优化

    项目使用混合开发,Webview+H5很简单大家都可以搜到相关内容.今天重点讲下一个小问题.我们h5页面是远程的.通过url的方式嵌入到Webview中.这时候有个问题,我启动的时候会有一段空白. 这 ...

  8. 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法

    关于UC浏览器屏蔽了广西人才网的名企.品牌.热点的logo,是因为当成广告过滤掉了,以后div的class和id不能以"ad"开头.这可能只是其中一个规则,adxxxx是可以的,不 ...

  9. android webview滚动到底部,Android WebView实现网页滚动截图

    WebView 网页滚动截屏,可对整个网页进行截屏而不是仅当前屏幕哦! 注意若Web页面存在position:fixed; 的话得在调用前设置为 position:absolute; 哦,否则会出现很 ...

最新文章

  1. NLP学习思维导图,非常的全面和清晰
  2. SAP WM Picking Area的使用
  3. Cannot change version of project facet Dynamic Web Module to 2.5 问题的解决方法
  4. vue中的v-model原理,与组件自定义v-model
  5. Java标准流输入输出流In(Out)putStream,ReaderWriter等总结(1)
  6. java 注解妙用_框架开发之Java注解的妙用
  7. JavaScript:事件对象Event和冒泡
  8. 中学计算机老师的英语,中学计算机老师的路在何方?
  9. 洛谷P1450:硬币购物(背包、容斥)
  10. php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
  11. iOS逆向之旅(进阶篇) — 重签名APP(一)
  12. 程序员所要具备的基本素质
  13. E - Tautology(永真式)
  14. 调整java字体大小_Java自动调整到Windows 7的字体大小调整
  15. 偏最小二乘回归分析_线性回归特征归一化
  16. SQL 基础之单行函数(七)
  17. 基于OpenCV文字特征提取
  18. 推荐几个优秀的求职简历模板(附电子版个人简历word下载 )
  19. ArcGisPro脚本工具【7】——通过高德地图API获取公交线路
  20. mysql 设置连接超时_如何配置MySQL数据库超时设置

热门文章

  1. 固态硬盘的工作原理揭秘
  2. 如何在java中判断一个字符串是否是数字
  3. Metro UI CSS 的简介
  4. 前端培训机构,有靠谱的吗?
  5. 强烈谴责 江民 杀毒软件
  6. Android 监听U盘OTG挂载状态
  7. Linux下制作ISO与刻录ISO
  8. python实现画板_一起看看python+pygame简单画板实现代码实例
  9. Linux更换国内下载源【阿里云】
  10. 设计模式03——Template Method模式