使用油猴脚本禁止访问特定网站

很多时候我们需要禁止访问特定网站,对于这个需求,一般可以通过改 Hosts 来实现,本文介绍一种相对局限但自定义度更高的方式,即使用 Tampermonkey。

起因

我原本在愉快地三人麻将中,然而直到我连续三局不超过东二局三巡被飞之后,我感到人与人之间运气的差异确实是巨大的,耗费我本就不多的运气和精力在这个垃圾游戏上是很愚蠢的,那么就把它 ban 掉好了。

准备工作

  • Tampermonkey 插件

注意:这个解决方案仅对 Tampermonkey 安装的浏览器有效,对游戏客户端/其他浏览器均无效,且解除限制较为容易,本质上是通过唤起你自身的自制力来实现效果的。

开整

原理是在 document-start 时替换文档内容,同时调用 window.stop() 锁死,完全阻塞加载。特别注意逻辑代码只有在 window.stop() 之前调用才有效,stop 之后用户脚本自身也会停止。

原版代码如下,文件名 NEVER_Play_Mahjong_Again.user.js

// ==UserScript==
// @name         NEVER Play Mahjong Again!!!
// @namespace    https://ucw.moe/
// @version      0.1.0
// @description  NEVER Play Mahjong Again!!!
// @author       wuxianucw
// @run-at       document-start
// @match        https://tenhou.net/*
// @match        https://*.tenhou.net/*
// @match        https://tenhou.net/*
// @match        https://*.tenhou.net/*
// @match        https://nodocchi.moe/*
// @match        https://*.nodocchi.moe/*
// @match        https://maj-soul.com/*
// @match        https://*.maj-soul.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    document.write('<div style="color: red; font-size: 64px;">NEVER Play Mahjong Again!!!</div>');
    window.stop();
})();

使用 @match 指定生效的 URL,document.write 进去的内容可自行编辑。

@match 支持 * 匹配。

最后修改:2021 年 06 月 23 日 03 : 32 PM
欢迎投食喵 ~

发表评论

4 条评论

  1. Heresy

    用adguard home禁止。顺便去广告

  2. index.html

    好!再也不怕别人拿我的电脑上 4399 了!

    耗费我本就不多的运气和精力在这个垃圾游戏上是很愚蠢的
    笑死,但是乐此不疲的人还挺多 <s>以及 !!! 应改为 !!1 不然没有灵魂</s>
  3. 防水材料加盟

    感谢分享 赞一个

  4. GCX

    鸽子王多少年没更了喵喵喵