今天突然要解决一个bug,一个关于广告的小问题,页面元素不显示了,查了半天完全不知道为什么。然后发现是广告拦截插件引起的,知道广告插件原理,我一下子有点懵。

先说明,今天主要是分享一下广告插件的原理,不是深究插件的写法,也不确定其他插件是否是这个原理,只是说一下Adblock plus这个广告拦截插件的原理。

先说一下过程,有个广告创建的功能,里面有几个选项,拿其中一个选项来说,标题,我给这个输入框起的样式class名字是ad-title,结果页面这个输入框显示不了,看了一下样式的display,居然是none,再看一下设置none的,不知道是哪里来的样式:

是注入的样式,其中就有ad-title:

看见这个,我一下子明白了广告拦截插件,原来是通过注入样式给隐藏了,而且是一堆认为是广告的单词样式,要是一些网站不是广告,但是有这些样式名称的都会被隐藏。

广告插件还支持自己添加:

尝试了一下,生效了,这扩展性还真的是有点强大。

没事做,就自己也弄了个简单的插件,新建一个文件夹,名字随便取,里面就三个文件:


manifest.json里面的代码:

{"name": "coding个人笔记去广告插件","manifest_version": 2,"version": "1.0","description": "coding个人笔记去广告插件","browser_action":{"default_icon": "icon.png","default_title": "coding个人笔记去广告插件"},"icons":{"48": "icon.png"},"content_scripts": [{"matches": ["<all_urls>"],"js": ["coding.js"]}]
}

coding.js里面的代码:

  var list = ["[class*=\"ad\"]","[class*=\"advertising\"]","[class*=\"adver\"]"]for (let i = 0; i < list.length; i++) {let elList = document.querySelectorAll(list[i]);for (let j = 0; j < elList.length; j++) {elList[j].setAttribute('style', 'display:none !important');}}

然后点击加载已解压的扩展程序选中这个文件夹就行了。

效果就是会给匹配的class都注入隐藏样式:

这样的插件太暴力了,应该是不建议的,然后下载了Adblock plus源码看了看,第一眼感觉有点复杂,于是就放弃了。

欢迎关注个人公众号 coding个人笔记

突然发现浏览器广告拦截插件原理相关推荐

  1. 【插件】浏览器广告拦截插件| 浏览器搜索广告横飞怎么办

    文章目录 浏览器广告拦截插件| 浏览器搜索广告横飞怎么办 一.效果 二.安装 浏览器广告拦截插件| 浏览器搜索广告横飞怎么办 浏览器广告横飞怎么办?今天教你一招解决!很多小伙伴说自己用的浏览器总是有广 ...

  2. 搜狗浏览器广告拦截插件_拦截烦人的网页广告,增加上网体验

    本号所有资源版权归原作者所有,如有侵权请加小编微信删除.本号免费分享,仅供学习交流,下载后24小时内请自觉删除,切勿用于商业用途,否则后果自负! 今天重新整理分享几大主流浏览器和IE浏览器拦截广告的方 ...

  3. 记一次被浏览器广告拦截插件坑死的经历:adp和ad插件把jsp页面中div显示的图片当作广告拦截!!

    没有任何显示,也没有任何报错,f12中也已经加载了图片等内容,又把chrome换到firfox,但是还是没用,因为我都装了ad插件,我真想爆粗口,因为ad插件也显示没有拦截到广告.经过查错一次又一次重 ...

  4. 浏览器广告拦截_如何阻止广告拦截器

    浏览器广告拦截 我最近写了一篇文章,说明为什么选择不受广告拦截器无意阻止的文件名很重要 . 这些评论表明,广告拦截技术使许多网站所有者感到恼火. 如果他们无法获得收益,为什么还要生产优质内容? 无法检 ...

  5. 最强chrome、edge的广告拦截插件

    最强chrome.edge的广告拦截插件 对于浏览器的广告是非常烦人的,尤其是使用百度搜索引擎时,总会在右侧出现百度热搜这样的东西,有时不经意间就会被某些热搜吸引.本来想搜索一些内容,结果被热搜等耗费 ...

  6. 浏览器广告拦截_如何检测广告拦截器

    浏览器广告拦截 One of the unspoken rules of the internet is that most content is "free"... at the ...

  7. AdGuard广告拦截插件V3.6.6

    介绍: AdGuard AdBlocker 是一款广告拦截插件,用以对抗各式广告与弹窗.可以拦截绝大部分常见网站的广告. 例如视频广告,插播广告和浮动广告.从而实现加速页面载入,节省带宽,屏蔽广告和弹 ...

  8. Chrome上最好用的广告拦截插件:AdBlock

    Chrome上最好用的广告拦截插件:AdBlock AdBlock,是一款广告拦截插件,自动拦截网页中广告.广告拦截并非100%准确,因此它提供了个性化设置的功能. 一个页面如果被"误伤&q ...

  9. 二、浏览器广告屏蔽插件_Adblock Plus

    1.浏览器广告 在浏览器浏览内容时,有广告无可厚非,但有些网页做的太过分了.如广告影响了正常网页的浏览:广告内容低俗恶心.特推荐以下浏览器广告屏蔽插件. 2.浏览器广告屏蔽插件 2.1.Adblock ...

  10. chrome浏览器广告屏蔽插件adblock

    chrome浏览器广告屏蔽插件adblock下载地址: https://downloads.adblockplus.org/devbuilds/adblockpluschrome/ 安装: chrom ...

最新文章

  1. 【英语学习】【Daily English】U08 Dating L01 She is the one for me.
  2. ucc编译器(x86移植)
  3. HDU2110 Crisis of HDU【母函数】
  4. 浅谈 HTTPS 和 SSL -TLS 协议的背景与基础
  5. arsc编辑器手机版_APK编辑器中文版,任意修改你手机中的APP名称、logo!
  6. ntp服务器的搭建(内网时钟服务区的搭建)
  7. 现代密码学第一次实验:线性移位寄存器
  8. 三维重建的色差相关知识
  9. 高斯过程回归(资料整理阶段)
  10. reg类型变量综合电路_verilog语言中wire型变量和reg 型变量的区别
  11. 侧脸生成正脸概论与精析
  12. FPGA采集AD7606串行输源码加讲解
  13. OpenGL学习笔记——处理键盘输入
  14. 【现代通信原理笔记】4 数字基带传输
  15. 使用oracle开发的配置
  16. docker创建容器共享目录
  17. 通达信主窗口显示股票所属板块及概念语句
  18. BJFU 1010 博弈 解题报告
  19. 特征提取——灰度共生矩阵(GLCM)
  20. 【SystemC】(二)第一个SystemC程序

热门文章

  1. 照片审核处理工具_不需要Photoshop,这5款在线处理图片工具能帮你好好处理照片!...
  2. Python 正则表达式大全
  3. 微信公众号调用扫一扫,使扫一扫支持扫PDF417格式的条码
  4. 爱普生R230打印机两个红灯交替闪怎么回事?
  5. (tensorflow2.1.0安装教程) 对应Anaconda3(对应python3.7)+cuda10.1+cudnn7.6.5+Pycharm 网盘 链接
  6. SlickEdit 之Ubuntu 版本安装
  7. OpenCV3.1安装包下载
  8. EXCEL利用VBA把汉字转拼音(李晓锋版)20180828更新
  9. 关于mac 和其它osx系统添加 微软雅黑字体 适用于安装字体报错或者安装失败
  10. 通过apizza生成python接口测试代码