Disable JavaScript Alert Boxes

Blocks annoying page-load alert boxes during the first 5 seconds

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Disable JavaScript Alert Boxes
// @namespace    RGlzYWJsZSBqYXZhc2NyaXB0IGFsZXJ0IGJveGVz
// @version      1.1
// @description  Blocks annoying page-load alert boxes during the first 5 seconds
// @author       smed79
// @license      GPLv3
// @icon         https://i25.servimg.com/u/f25/11/94/21/24/x10.jpg
// @include      *://*/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Inject directly into the Main World so we actually intercept the page's alerts
    const payload = `(function() {
        try {
            // Keep a private, hidden reference to the original alert
            const originalAlert = window.alert;

            // Override the page's alert function to do absolutely nothing
            window.alert = function() {};

            // Restore the original alert after 5 seconds
            setTimeout(() => {
                window.alert = originalAlert;
            }, 5000);
        } catch (e) {}
    })();`;

    // Create the script tag
    const script = document.createElement('script');
    script.textContent = payload;

    // Inject instantly at document-start before the website's spam scripts run
    if (document.documentElement) {
        document.documentElement.appendChild(script);
        script.remove(); // Clean up the tag so the website doesn't know we are there
    }
})();