今天突发奇想想自己写个 chrome 扩展 功能是每个网站都执行一段自己写的 js 通过 dom 操作去广告
于是就马上动手做了 做一个光执行一段 js 的 chrome 扩展还是很简单的 百度了一会就进入写 js 的正题了
先自己手动找了几个有广告的网站(ps:www.china.com 的广告真是多 这样好吗)
然后根据广告标签上的某些不变的属性通过 jquery 选择器去掉了 百度 google 和阿里妈妈 jd 的广告
看到百度搜索页的推广广告 于是想顺手也去了
刚开始很简单 也是选择器选择推广的 div 然后 remove
然后发现推广广告又出现了! 我想不愧是百度 我这种做法原来早就在人家的考虑之中
然后 我把去广告的代码加了个一秒钟之后延迟在执行一次的功能
然后发现 百度推广消失了两次之后再次出现了!
于是我就干脆每一秒循环执行吧
但百度推广在消失了两次之后 第三次出现的广告 div 变化了!
[广告] 两个字的标识变成了纯文本 除此之后 div 内容和正常的搜索结果无异
我真是服了 今天先到这 明天在跟他肛 屈服在我的努力之下是早晚的事
ps:另外我发现 csdn 博客 对广告的去除也做了处理
博客正文的 class 和 广告位 div 的 class 用相同的属性 去掉广告也就去除了正文
当然 对 csdn 特别处理能解决
1
niuoh OP 另外也针对某些网站 写了一些功能<br>
比如把 V2EX topic 中的图片链接 自动换成图片标签 直接显示 |
2
ysc3839 2017-07-31 20:42:25 +08:00 via Android
我有一个疑问,执行自己的 js,那直接用 userscript 不就好了吗?
|
3
azh7138m 2017-08-01 08:33:05 +08:00 via Android
ublock,abp 都是这样子用的呀
|
4
autoxbc 2017-08-01 09:57:47 +08:00 via iPhone
去广告本质是前端逆向工程
不要依赖选择器,那是表象 去读他加广告的代码 |
5
oott123 2017-08-01 10:02:20 +08:00 via Android
道理我都懂,可为啥不装个 uBlock 呢
|