Saber 酱的抱枕

Fly me to the moon

03/22
2016
学习

网站黑名单的油猴脚本

用油猴脚本屏蔽网站 黑名单

昨天搜索一个问题,点击了一个像模像样的答案,结果打开是一个游戏的官网。被恶心到了,所以写了个user脚本,可以手动把网站添加到黑名单。

安装此UserScript

如果想屏蔽某个域名的网站,需要手动去代码里添加其域名。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// ==UserScript==
// @name         网站黑名单
// @namespace    http://www.saber.love/?p=2683
// @version      0.1
// @description  通过域名来阻止一些网站打开
// @author       雪见仙尊
// @match        http://*/*
// @match        https://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==
/* jshint -W097 */
'use strict';
 
/*
使用方法:在数组myBlackList中以string类型添加要屏蔽的域名。
如果添加的域名是以*开头,则表示屏蔽该域名的所有页面,包括其所有二级域名。(如*.example1.com将会屏蔽example1.com域名的所有二级域名)
如果添加的域名不以*开头,则表示只屏蔽这个域名下的页面,不屏蔽该域名的其他二级域名。(如images.example2.com不会屏蔽www.example2.com等其他二级域名)
*/
 
let myBlackList = ['*.example1.com', 'images.example2.com'];
 
String.prototype.endWith = function(str) {
    var reg = new RegExp(str + "$");
    return reg.test(this);
}
 
function stopLoad() {
    window.stop();
    document.title = "黑名单:已停止加载!";
}
 
for (let i = 0, len = myBlackList.length; i < len; i++) {
    let pageHost = window.location.host;
    if (myBlackList[i][0] === '*') {
        let listHost = myBlackList[i].substring(1);
        if (pageHost.indexOf(listHost) > -1 && pageHost.endWith(listHost)) {
            stopLoad();
            break;
        }
    } else {
        if (pageHost === myBlackList[i]) {
            stopLoad();
            break;
        }
    }
}

网站黑名单的油猴脚本

TOP
你就是我的 master
    显示公告
    聊      天
    吃 零 食
    博客后台
    生存时间
    关闭春菜
    X
    召唤春菜