免自写代码去除广告,点击即可安装:点此去向去除广告的油猴脚本
-------以下是教学如何自己写油猴脚本删除指定广告的------
目的页面:https://m.dmzj.com/view/33353/61162.html
可以看到由这两个网页元素组成了网页广告,一个灰度div,一个倒计时且禁止滑动的div,我们需要做的就是用Chrome里的Console来运行Js,去处这两个div。
我百度了一下去处DIV的JS代码,找到了两种去处元素的方法。第一种是直接通过ID删除元素,第二种是如果元素没有ID,找到他特有的类,然后删除。getElementsByClassName可以找到所有某一类名的元素,我这里填写[0]默认的是删除第一个。
var m = document.getElementById("这里填写要去处的元素ID");
m.parentNode.removeChild(m);
var n = document.getElementsByClassName("这里填写要去处的元素ClassName")[0];
n.parentNode.removeChild(n);
所以我们修改一下代码,运用到我们的这个页面里。
var m = document.getElementById("mark");
m.parentNode.removeChild(m);
var n = document.getElementsByClassName("timeAD")[0];
n.parentNode.removeChild(n);
然后在Chrome的Console里运行,发现灰度DIV和倒计时DIV直接就被删除了。
可是每一次都得运行,比看10seconds广告还麻烦,这时候就得派上油猴脚本了[tampermonkey],这是一款相当强大的浏览器插件,可以指定某一个网页的页面自动运行你的JS脚本,简直神器啊!可以百度下载这个插件,然后给Chrome装上就是。
打开那个你要去除广告的网页,点击插件,然后添加新脚本
添加代码至 //Your code here 之前,如图。然后保存。
你刷新一下页面,你会发现,广告自动消失了!
但是我发现一个问题,发现广告的确是去除了,但是刚刷新没办法往下滑动,似乎还得等时间。
过了几秒钟之后变成下边这样之后才能滑动。
这时候我们需要在油猴里边添加上一行代码以修改html元素的style的值。所以最后添加完是下边这样的。
var m = document.getElementById("mark");
m.parentNode.removeChild(m);
var n = document.getElementsByClassName("timeAD")[0];
n.parentNode.removeChild(n);
document.getElementsByTagName("html")[0].setAttribute("style","overflow: auto;");
再次刷新网页,发现已经不会再卡在那儿等时间了。点击下一章,发现脚本只匹配了原来那个网页,新的网页不能运行js。
这时候我们点击脚本编辑器上边的设置
添加用户匹配,把后边会变的部分换成*,这样就代码就可以运行了。
最后来个思考题,网页的最下边会有个div挡住下一章的按钮,请用Js去除,然后把Js代码添加到油猴脚本里自动运行,测试通过即完成任务。
总结
找到元素对象的代码
document.getElementById("mark");
document.getElementsByClassName("timeAD")[0];
document.getElementsByTagName("html")[0];
给元素设置属性值
document.getElementsByTagName("html")[0].setAttribute("style","overflow: auto;");
删除元素
var n = document.getElementsByClassName("timeAD")[0];
n.parentNode.removeChild(n);
以上的[0]中的0是被找到元素的索引,如果用被第一个找到的元素,则是[0]