Tampermonkey 是一个常用的用户端JavaScript脚本管理器,可以在网页上运行自己的脚本,结合JavaScript脚本,可以做一些很有趣的事情。
用户脚本有很多来源,既可以用已经写好的,又可以自己亲自动手写,常见的脚本源有greasyfork,在上面可以找到很多脚本,然而,并不是所有的网站都有现成的脚本,如果掌握了一点点JavaScript的基本知识,就可以自己写一个脚本自己用了。
若干天以前,在访问某个bt下载网站时发现广告过多,又没有现成的去广告脚本,于是自己亲自安排了一个。很简单,不复杂,但有效。
// ==UserScript==
// @name 去除btbtt广告
// @namespace http://tampermonkey.net/
// @version 0.11
// @description try to take over the world!
// @author dogcraft
// @match https://btbtt.us/
// @include *//*btbtt*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var dog1=document.getElementsByClassName("width imgs_1");
document.body.removeChild(dog1[0]);
//dog1[0].innerHTML='';
var dog2=document.getElementsByClassName("width");
dog2[1].innerHTML='';
document.body.style.backgroundImage='';
var yy=document.getElementById("wrapper_left_bg");
document.body.removeChild(yy);
var zz=document.getElementById("wrapper_right_bg");
document.body.removeChild(zz);
// Your code here...
})();
从脚本形式上来看脚本分为两部分,第一部分在JavaScript解释器看来是注释部分,并没有什么卵用。
// ==UserScript==
// @name 去除btbtt广告
// @namespace http://tampermonkey.net/
// @version 0.11
// @description try to take over the world!
// @author dogcraft
// @match https://btbtt.us/
// @include *//*btbtt*/*
// @grant none
// ==/UserScript==
这一部分主要是给脚本管理器看的,上面有着脚本的基础信息。
后一部分主要就是JavaScript了,这个是给浏览器用的
(function() {
'use strict';
var dog1=document.getElementsByClassName("width imgs_1");
document.body.removeChild(dog1[0]);
//dog1[0].innerHTML='';
var dog2=document.getElementsByClassName("width");
dog2[1].innerHTML='';
document.body.style.backgroundImage='';
var yy=document.getElementById("wrapper_left_bg");
document.body.removeChild(yy);
var zz=document.getElementById("wrapper_right_bg");
document.body.removeChild(zz);
// Your code here...
})();
具体原理很简单,就是找到广告对应的元素在html中的位置,然后用DOM方法给它移除掉就完事了。
确认能用之后,就可以发布到网上了。过程十分简单,没有什么障碍,按照提示操作就好。已经在greasyfork发布的脚本https://greasyfork.org/zh-CN/scripts/399455。
OωO 我怎么开始写JavaScript了?