Android WebView屏蔽网页中广告
需求
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屏蔽网页中广告相关推荐
- Android WebView获取网页中JavaScript弹框内容
Android WebView获取网页中JavaScript弹框内容 网页中弹窗的js代码为 <script type="text/javascript" language= ...
- winform-webbrowser屏蔽网页中的广告
1.我这里的webbrowser调用http://lishi.tianqi.com/haerbin/index.html这个网页,直接在Load中写代码即可: private void History ...
- 关于android webview使用过程中遇到的一些问题总结
开发WebView的时候遇到了各种问题,在此总结一下. 一.webview的使用方法 1.1.layout中添加WebView的视图. <WebViewandroid:id="@+id ...
- android 动画 空白页,Android WebView打开网页一片空白的解决方法
问题描述: 网页链接是Https链接 网页链接在电脑的Chrome浏览器中打开正常 网页链接在手机的Chrome浏览器中打开正常 网页链接在IOS的App上打开正常 网页链接在Android App中 ...
- android WebView 显示网页
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 可以过滤网页中广告的插件Adblock Plus
现在csdn博客里的广告太多了,越来越影响用户体验,比如: 当然在其他很多网站中也会有类似的牛皮癣式的广告,而且乱七八糟,没有任何价值. 然后找到了一个很好用的过滤广告的插件,叫做Adblock Pl ...
- Android webview打开网页空白优化
项目使用混合开发,Webview+H5很简单大家都可以搜到相关内容.今天重点讲下一个小问题.我们h5页面是远程的.通过url的方式嵌入到Webview中.这时候有个问题,我启动的时候会有一段空白. 这 ...
- 关于UC、火狐、谷歌浏览器屏蔽布局中广告的解决办法
关于UC浏览器屏蔽了广西人才网的名企.品牌.热点的logo,是因为当成广告过滤掉了,以后div的class和id不能以"ad"开头.这可能只是其中一个规则,adxxxx是可以的,不 ...
- android webview滚动到底部,Android WebView实现网页滚动截图
WebView 网页滚动截屏,可对整个网页进行截屏而不是仅当前屏幕哦! 注意若Web页面存在position:fixed; 的话得在调用前设置为 position:absolute; 哦,否则会出现很 ...
最新文章
- NLP学习思维导图,非常的全面和清晰
- SAP WM Picking Area的使用
- Cannot change version of project facet Dynamic Web Module to 2.5 问题的解决方法
- vue中的v-model原理,与组件自定义v-model
- Java标准流输入输出流In(Out)putStream,ReaderWriter等总结(1)
- java 注解妙用_框架开发之Java注解的妙用
- JavaScript:事件对象Event和冒泡
- 中学计算机老师的英语,中学计算机老师的路在何方?
- 洛谷P1450:硬币购物(背包、容斥)
- php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
- iOS逆向之旅(进阶篇) — 重签名APP(一)
- 程序员所要具备的基本素质
- E - Tautology(永真式)
- 调整java字体大小_Java自动调整到Windows 7的字体大小调整
- 偏最小二乘回归分析_线性回归特征归一化
- SQL 基础之单行函数(七)
- 基于OpenCV文字特征提取
- 推荐几个优秀的求职简历模板(附电子版个人简历word下载	)
- ArcGisPro脚本工具【7】——通过高德地图API获取公交线路
- mysql 设置连接超时_如何配置MySQL数据库超时设置